java 子类Student继承自父类Person,并重写父类的方法。(重写练习)
时间: 2023-07-16 19:14:45 浏览: 118
好的,下面是示例代码:
```java
public class Person {
public void introduce() {
System.out.println("我是人类。");
}
}
public class Student extends Person {
@Override
public void introduce() {
System.out.println("我是学生。");
}
}
```
在上面的代码中,`Person`是父类,有一个`introduce`方法输出“我是人类”。`Student`是子类,继承了`Person`的`introduce`方法,并在子类中重写了该方法,输出“我是学生”。
这样,在使用`Student`的对象调用`introduce`方法时,会输出“我是学生”而不是“我是人类”。
相关问题
子类Student继承自父类Person,并重写父类的方法。(重写练习)
好的,这是一个简单的练习示例:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"Hi, my name is {self.name} and I am {self.age} years old.")
class Student(Person):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
def introduce(self):
print(f"Hi, my name is {self.name}, I am {self.age} years old, and I go to {self.school}.")
person1 = Person("John", 25)
person1.introduce()
student1 = Student("Jane", 20, "ABC University")
student1.introduce()
```
在这个示例中,我们定义了一个`Person`类和一个`Student`类。`Student`类继承自`Person`类,这意味着它具有`Person`类中定义的所有属性和方法。
但是,我们在`Student`类中重写了`introduce`方法,并添加了一个新属性`school`。在`Student`类中的`introduce`方法中,我们使用`super()`函数调用`Person`类中的`introduce`方法,以便保留`Person`类中的行为。然后,我们添加了一些额外的信息,以便更好地介绍学生。
最后,我们创建了一个`Person`对象和一个`Student`对象,并分别调用它们的`introduce`方法。你可以看到,当我们调用`Person`对象的`introduce`方法时,只会输出基本信息,而当我们调用`Student`对象的`introduce`方法时,会输出更详细的信息。这就是方法重写的效果。
(1) 创建父类Person类,包括name,age成员变量;setter和getter方法;定义printPerson打印人的信息 (2) 创建子类Student继承Person父类,新增className成员变量,变量的封装setter和getter,定义printStudent方法打印学生信息 (3) 在子类中实现对父类的printPerson()的重写 (4) 创建Person和Student对象,Person对象调用printPerson()方法,Student对象调用printPerson()方法和printStudent()方法
好的,这是一个关于面向对象编程的问题,下面是代码实现:
```python
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def set_name(self, name):
self.__name = name
def set_age(self, age):
self.__age = age
def get_name(self):
return self.__name
def get_age(self):
return self.__age
def printPerson(self):
print("Name:", self.__name)
print("Age:", self.__age)
class Student(Person):
def __init__(self, name, age, className):
super().__init__(name, age)
self.__className = className
def set_className(self, className):
self.__className = className
def get_className(self):
return self.__className
def printStudent(self):
super().printPerson()
print("Class Name:", self.__className)
def printPerson(self):
print("Student's Information:")
self.printStudent()
person = Person("John", 25)
person.printPerson()
student = Student("Alice", 19, "Mathematics")
student.printPerson()
student.printStudent()
```
输出结果为:
```
Name: John
Age: 25
Student's Information:
Name: Alice
Age: 19
Class Name: Mathematics
```
阅读全文