编程语言的发展:基于机器语言(01),发展出汇编语言,高级语言(面向过程的语言C语言),面向对象(c++,java,Python)
类:对具有相同属性init和方法的抽象
对象:具有属性和方法的实物
#面向对象三大特性:继承,封装,多态
继承优点:减少代码量;缺点:耦合程度太高
高内聚 低耦合
构造函数:没有显示声明,系统会默认提供一个
子类使用父类属性时,必须使用手动调用父类构造函数
重写和覆盖:当父类中方法不能满足子类需求
多继承:从左到右深度优先,一层一层去找(子类—父类1—父类2…)
#__init__构造函数,构造对象p
#self即将要出现的那个对象,self指p,临时指向新创建的对象
class person():
def __init__(self,name,age,sex,height):#(属性)
self.name =name
self.sex = sex
self.age = age
self.height = height
def say(self):#(方法)
print(self.name,self.age,self.sex,self.height,"hello")
@staticmethod
def run():
print("跑步")
#省略return None,不能return self 但init函数是返回一个值self对象,
p = person("lhy",18,"男",180)#运行init方法
#p.say()
p.run()
print(p.name)
继承:
父类
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__("小花",2,3)
print("这是一个子类构造函数")
def eat(self):
print("吃猫粮")
c = cat()
print(c.name)
c.eat()