python学习笔记(5)classes

类和对象

示例代码:

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def greet(self):
        print("Hello,my name is ",self.name,",and I'm ",self.age," years old.")
a=Person("Peter",20)
a.greet()

输出结果:Hello,my name is Peter ,and I’m 20 years old.
理解:在Python的类中,任何函数都有一个对象作为参数

继承

示例代码

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def greet(self):
        print("Hello,my name is ",self.name,", and I'm ",self.age," years old.")
class TenYearsOldPerson(Person):
    def __init__(self,name):
        super().__init__(name,10)
    def greet(self):
        print("I don't talk to strangers!")
Ken=Person("Ken",20)
Ken.greet()
Anna=TenYearsOldPerson("Anna")
Anna.greet()

输出结果:
Hello,my name is Ken , and I’m 20 years old.
I don’t talk to strangers!
怎么理解继承呢?就像他的名字一样,继承是一种父与子的关系,子类拥有父类的一些特性(如在这里的TenYearsOldPerson就跟父类一样拥有名字)但又有一些跟父类不一样的东西(在这里我重写了子类的方法,以达到子类的greet()方法跟父类的输出不一样)
如果:我删除了子类中重写的方法,那么子类就完全继承了父类的打招呼方式
def greet(self):
print("I don't talk to strangers!")
输出结果:
Hello,my name is Ken , and I’m 20 years old.
Hello,my name is Anna , and I’m 10 years old.

猜你喜欢

转载自blog.csdn.net/tinpo_123/article/details/79807727