学习python 第七天

面向对象

编程语言的发展:机器语言 汇编语言 高级语言(面向过程的 C) 面向对象(c++ java python)
类:对具有相同属性和方法的抽象
对象:具有属性和方法的实物

__init__ 构造函数
self 即将要出现的那个对象,临时指向新创建的对象
方法(3): 1、类方法(2) 装饰器 静态方法 2、对象方法

面向对象的三大特性:继承 封装 多态
继承:(优点)减少代码量 (缺点)耦合程度太高
高内聚 低耦合
构造函数:没有显示声明,系统会默认提供一个
子类使用父类属性时,必须手动调用父类构造函数

def __init__(self):
    super().__init__("s",2,2)
    print("这是子类构造函数")

重写和覆盖:当父类方法不能满足子类需求
多继承: 从左到右,一层一层寻找

class person():#类
    def __init__(self,name,age,sex,heigth):#属性
        self.name = name
        self.age = age
        self.sex = sex
        self.heigth = heigth
    def say(self):#对象方法
        print("hello")
        print(self.name,self.age,self.sex,self.heigth)
    @staticmethod#静态方法
    def run():
        print("跑步")
p = person("lhy",18,"男",180)
p.say()
person.run()

父类 子类

class animal():#父类
    def __init__(self, name, weight, age):
        self.name = name
        self.weight = weight
        self.age = age
    def eat(self):
        print("吃饭")
    def run(self):
        print("跑步")
    def sleep(self):
        print("睡觉")


class cat(animal):#子类
    def __init__(self):
        super().__init__("s", 2, 2)
        print("这是子类构造函数")
    def eat(self):
        print("猫粮")
class dog(animal):#子类
    pass
c = cat()
e = dog()
c.eat()
e.eat()

猜你喜欢

转载自blog.csdn.net/weixin_44446703/article/details/86580223