定义父类 Father, 有age,name 属性,定义speak(方法 打印 介绍信息。定义2个子类,两两个子类,分别实现重写speak0方法
时间: 2023-05-24 09:01:17 浏览: 110
你好,我是 C知道。关于你的问题,以下是我的回答:
父类 Father 定义如下:
```python
class Father:
def __init__(self, age, name):
self.age = age
self.name = name
def speak(self):
print(f"我是{self.name},今年{self.age}岁。")
```
子类子类 SonA 和 SonB 分别如下:
```python
class SonA(Father):
def __init__(self, age, name):
super().__init__(age, name)
def speak(self):
print(f"我是 SonA,我叫{self.name},今年{self.age}岁。我是 Father 的儿子。")
class SonB(Father):
def __init__(self, age, name):
super().__init__(age, name)
def speak(self):
print(f"我是 SonB,我叫{self.name},今年{self.age}岁。我也是 Father 的儿子。")
```
希望能帮到你!如果您有其他问题,可以随时问我。
相关问题
定义父类 Father, 有age,name 属性,定义speak(方法 打印 介绍信息。定义2个子类,boy和gril两个子类,分别实现重写speak0方
法,输出自己的介绍信息。
以下是代码示例:
```python
class Father:
def __init__(self, age, name):
self.age = age
self.name = name
def speak(self):
print("Hello, my name is", self.name, "and I am", self.age, "years old.")
class Boy(Father):
def speak(self):
print("Hi, I am a boy. My name is", self.name, "and I am", self.age, "years old.")
class Girl(Father):
def speak(self):
print("Hi, I am a girl. My name is", self.name, "and I am", self.age, "years old.")
# 测试
father = Father(50, "John")
father.speak()
boy = Boy(10, "Tom")
boy.speak()
girl = Girl(8, "Lily")
girl.speak()
```
输出结果如下:
```
Hello, my name is John and I am 50 years old.
Hi, I am a boy. My name is Tom and I am 10 years old.
Hi, I am a girl. My name is Lily and I am 8 years old.
```
Java实现在show方法里定义Father类的匿名子类,重写father类的method方法
可以使用以下代码实现:
```java
public class Father {
public void method() {
System.out.println("Father's method");
}
public void show() {
Father anonymous = new Father() {
@Override
public void method() {
System.out.println("Anonymous subclass's method");
}
};
anonymous.method();
}
}
```
在 `show` 方法里,我们定义了一个 `Father` 类的匿名子类 `anonymous`,并重写了其 `method` 方法,然后调用了 `anonymous` 的 `method` 方法。当调用 `show` 方法时,输出结果为:
```
Anonymous subclass's method
```