Python9-继承2-day25(大年初二)】的更多相关文章

一. 静态属性.类方法.静态方法 1.1静态属性 class Room: def __init__(self,name,owner,width,length): self.name=name self.owner=owner self.width=width self.length=length @property def cal_area(self): return self.width * self.length r1=Room('厕所','alex',1000,100) print(r1.…
这两天所学的都是面向对象,后面还有几天也是它,面向对象主要有三个大的模块,封装,继承,多态,(组合),昨天主要讲了面向对象的命名空间,还有组合的用法,今天是讲的继承还有继承里面所包括的钻石继承,以及多态的知识点. 创建一个类,关键字是class,然后后面加上类的名字,首字母大写即可,创建完了之后就得到了一个类的命名空间, 然后下面就是类的属性,分为静态属性(定义在类中的变量)和动态属性(定义在类中的方法), 然后就是属性,属性是类实例化得出的结果,创建一个属性就是创建了一个属性的命名空间,对象可…
---恢复内容开始--- 通过一个列子认识父类和子类中,子类的如何实现对父类默认属性调用,同时拥有自己的属性,如何在子类中调用父类的方法,class Ainmal: country='afdas' def __init__(self,name,life_value,argg): self.name=name self.life_value=life_value self.argg=argg def eat(self): self.life_value+=10 def equipment(self…
通过一个列子认识父类和子类中,子类的如何实现对父类默认属性调用,同时拥有自己的属性,如何在子类中调用父类的方法,class Ainmal: country='afdas' def __init__(self,name,life_value,argg): self.name=name self.life_value=life_value self.argg=argg def eat(self): self.life_value+=10 def equipment(self): self.argg+…
今日内容: 如何查看对象的名称空间及对象名 继承的另一种使用 单继承与多继承 经典类与新式类 mro列表 菱形继承 接口 抽象类 鸭子类型 1.查看名称空间包含的变量: 使用类或对象名.__dict__查看 实际上在我们调用函数时就是在访问名称空间 比如Student.name实际上就是在调用 Student.__dict__["name"] 2.在使用类实例化对象时,代码的执行顺序为: 首先调用类产生一个空的对象 执行类的__init__方法,为对象添加自己独特的属性 #python…
1.先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸爸") self.name=name def hit_son(self): print("%s 正在打儿子" %self.name) class Son(Dad): pass print(Son.money)#继承父类的数据属性 s1=Son("gouguoqi&quo…
继承 一 .什么是继承? 类的继承跟现实生活中的父.子.孙子.重孙子的继承关系一样,父类又称基类. Python中类的继承分为:单继承 和  多继承. # 定义父类 class ParentClass1: # 父 pass class ParentClass2: # 母 pass # 继承的方式 class subClass(ParentClass1): # 单继承 蚯蚓是雌雄同体 pass class subClass1(ParentClass1, ParentClass2): # 多继承 p…
接口继承 接口继承就是(基类)父类定义好2个函数属性(接口),所有的子类必须有这2个函数属性,缺一不可,不是说省代码的,是用来做强制性约束的 基类里面的方法不用具体的实现,只是一个规范而已 1.1实现一个一切皆文件的概念 class Disk: def read(self): pass def write(self): pass class Cdrom: def read(self): pass def write(self): pass class Mem: def read(self): p…
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类,类能访问到数据属性和函数属性,不能访问至实例属性#3.静态属性:@property,把函数封装成一个数据属性的形式,让外部调用时看不到内部的逻辑:特点:定义时有self(实例本身)############################################################…
day25 组合和内置函数 一.组合 # 解决类与类之间代码冗余问题: 1. 继承 2. 组合 组合:一个对象拥有一个属性, 属性的值必须是另外一个对象 继承满足的是:什么是什么的关系 # is-a 组合满足的是:什么有什么的关系 # has-a 案例1: class People: school = 'SH' def __init__(self,name,age,gender,sourse=None): if sourse is None: self.course = [] self.name…