在Python中,子类可以继承父类所有的属性和方法。但是有时候,我们可能需要在子类中添加一个父类没有的属性。下面是在Pycharm中实现在子类中添加一个父类没有的属性的完整攻略。
- 定义一个基类(父类),包含一些属性和方法。
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print("Animal is eating...")
- 定义一个子类,并继承基类(父类)的属性和方法。
class Dog(Animal):
def __init__(self, name, age, breed):
super().__init__(name, age)
self.breed = breed
def bark(self):
print("Dog is barking...")
在这个例子中,我们定义了一个Dog类作为子类,继承了Animal类的属性和方法,并且定义了一个新的属性breed。
- 创建对象并调用方法。
dog = Dog("Lucy", 3, "Golden Retriever")
dog.eat()
dog.bark()
输出结果:
Animal is eating...
Dog is barking...
在这个例子中,我们创建了一个Dog对象,并调用了父类和子类的方法。需要注意的是,我们在子类中添加了一个新的属性breed,但是仍可以调用父类的属性和方法。
示例2:
- 定义一个基类(父类),包含一些属性和方法。
class Shape:
def __init__(self, color, filled):
self.color = color
self.filled = filled
def get_color(self):
return self.color
def is_filled(self):
return self.filled
- 定义一个子类,并继承基类(父类)的属性和方法。
class Rectangle(Shape):
def __init__(self, color, filled, width, height):
super().__init__(color, filled)
self.width = width
self.height = height
def area(self):
return self.width * self.height
在这个例子中,我们定义了一个Rectangle类作为子类,继承了Shape类的属性和方法,并且定义了新的属性width和height。
- 创建对象并调用方法。
rectangle = Rectangle("red", True, 5, 10)
print(rectangle.get_color())
print(rectangle.is_filled())
print(rectangle.area())
输出结果:
red
True
50
在这个例子中,我们创建了一个Rectangle对象,并调用了父类和子类的方法。需要注意的是,我们在子类中添加了新的属性width和height,但是仍可以调用父类的属性和方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pycharm实现在子类中添加一个父类没有的属性 - Python技术站