定义父类 Father, 有age,name 属性,定义speak(方法 打印 介绍信息。定义2个子类,两两个子类,分别实现重写speak0方法
时间: 2023-05-24 15:01:16 浏览: 104
C知道回答:
非常感谢您的问题!以下是父类 Father 的代码实现:
```
class Father:
def __init__(self, age, name):
self.age = age
self.name = name
def speak(self):
print("我叫{},今年{}岁。".format(self.name, self.age))
```
现在我们来定义两个子类,分别是 Son 和 Daughter。他们都继承了 Father 父类,但是各自实现了不同的 speak() 方法:
```
class Son(Father):
def speak(self):
print("我是{}的儿子,我叫{},今年{}岁。".format(super().name, self.name, self.age))
class Daughter(Father):
def speak(self):
print("我是{}的女儿,我叫{},今年{}岁。".format(super().name, self.name, self.age))
```
这样就实现了两个子类,各自重写了 speak() 方法,达到了不同的输出效果。希望这个答案能够帮助到您,如有疑问欢迎再次提问。
相关问题
定义父类 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.
```
C#中定义父亲类儿子类,调用父亲类给儿子类赋值
在C#中定义父类和子类,可以使用继承的方式实现。子类可以继承父类的属性和方法,并且可以在子类中重写父类的方法。在父类中定义一个属性或者变量,然后在子类中使用base关键字调用父类的构造函数,从而给子类赋值。
以下是一个示例代码:
```csharp
// 定义父类
public class Father
{
public string name;
public Father(string name)
{
this.name = name;
}
}
// 定义子类
public class Son : Father
{
public int age;
public Son(string name, int age) : base(name)
{
this.age = age;
}
}
// 调用父类给子类赋值
Son son = new Son("Tom", 18);
Console.WriteLine("Name: " + son.name + ", Age: " + son.age); // 输出:Name: Tom, Age: 18
```
阅读全文