创建一个基类Person,属性有name=张三和age=20,方法有显示个人信息printInfo()。派生类Teacher继承基类Person,包含teacherID=00271003,并重写printInfo ()。要求分别创建这两个类的对象并调用printInfo方法输出个人信息(文件名Q4.java) 程序运行结果示例如下: 姓名:张三,年龄:20 姓名:张三,年龄:20,教师ID:00271003
时间: 2023-06-14 07:02:56 浏览: 132
以下是Java代码实现:
```java
class Person {
protected String name = "张三";
protected int age = 20;
public void printInfo() {
System.out.println("姓名:" + name + ", 年龄:" + age);
}
}
class Teacher extends Person {
private String teacherID = "00271003";
@Override
public void printInfo() {
System.out.println("姓名:" + name + ", 年龄:" + age + ", 教师ID:" + teacherID);
}
}
public class Q4 {
public static void main(String[] args) {
Person person = new Person();
person.printInfo();
Teacher teacher = new Teacher();
teacher.printInfo();
}
}
```
程序运行结果:
```
姓名:张三, 年龄:20
姓名:张三, 年龄:20, 教师ID:00271003
```
相关问题
创建一个基类Person,属性有name和age,方法有显示个人信息printInfo()。如下所示: class Person{ int age; String name; void printInfo(){ System.out.println("姓名:"+name+",年龄:"+age); } } 派生类Teacher继承基类Person,包含teacherID属性,请重写printInfo ()。要求从键盘获取用户输入,并创建Teacher类对象并调
用printInfo()方法打印出教师的信息,代码如下:
```
import java.util.Scanner;
class Person {
int age;
String name;
void printInfo() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
class Teacher extends Person {
int teacherID;
@Override
void printInfo() {
System.out.println("教师ID:" + teacherID + ",姓名:" + name + ",年龄:" + age);
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Teacher t = new Teacher();
System.out.println("请输入教师姓名:");
t.name = sc.nextLine();
System.out.println("请输入教师年龄:");
t.age = sc.nextInt();
System.out.println("请输入教师ID:");
t.teacherID = sc.nextInt();
t.printInfo();
}
}
```
运行结果如下:
```
请输入教师姓名:
张三
请输入教师年龄:
30
请输入教师ID:
123
教师ID:123,姓名:张三,年龄:30
```
定义一个基类person类有姓名性别年龄在由基类派生出student类和teacher类
好的,这是一个很基础的面向对象编程问题。我们可以定义一个基类Person类,包含姓名、性别和年龄三个属性,然后从这个基类派生出Student类和Teacher类。Student类和Teacher类都继承了Person类的属性和方法,但是可以添加自己的属性和方法。
下面是一个可能的实现:
```python
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
class Student(Person):
def __init__(self, name, gender, age, student_id):
super().__init__(name, gender, age)
self.student_id = student_id
class Teacher(Person):
def __init__(self, name, gender, age, subject):
super().__init__(name, gender, age)
self.subject = subject
```
在这个实现中,我们定义了一个Person类,它有三个属性:name、gender和age。然后我们从Person类派生出了Student类和Teacher类。Student类有一个额外的属性student_id,而Teacher类有一个额外的属性subject。我们在Student和Teacher类的构造函数中使用super()函数来调用父类的构造函数,以便初始化继承的属性。
希望这个回答能够帮助你解决这个问题。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)