python_面向对象_组合】的更多相关文章

组合: 一个类的对象是另外一个类对象的属性 # 组合 # 一个类的对象是另一个类对象的属性 # 什么时候使用组合:当两个类之间的关系是 :什么有什么的关系 : 班级有学生 学生有班级 班级有课程 图书有作者 学生有成绩 # 组合: 一个类的对象是另外一个类对象的属性 class Grade(): def __init__(self,class_name,course): self.class_name = class_name self.course=course class Course():…
类的几个装饰器方法: @classmethod (类方法):使之无法访问实例变量 class Animal(object): def __init__(self, name): self.name = name # 实例变量 sleep = '睡觉觉后..' # 类变量 @classmethod # 加上此装饰器便不能访问实例变量,但是可以访问类变量 def eat(self): print('%s 动物要吃东西..' % self.sleep) A = Animal('狗类') Animal.…
面向对象:减少重复代码,提高效率,比函数式编程更高效 类的创建: 实例属性又称:成员变量,成员属性(或者字段) 面向对象的三大特性: 一.封装 把客观事物封装为抽象的类,并对外只暴露一个可用接口 使用构造方法将内容封装到对象中,可通过对象直接或者通过self间接获取被封装的内容 # 创建类 class Foo(object): def __init__(self, name, age): # 构造方法,根据创建的对象自动执行 self.name = name self.age = age # 类…
class A(object): pass a1 = A() a2 = A() print(a1 == a2)print(id(a1))print(id(a2)) 结果: False 2325723198184 2325723198464 a1与a2的内存地址不同,a1与a2是不一样的. class A(object): def __init__(self): self.y=10 self.x=44 x=10 y=12 class B(A): x=8 y=20 b=B() print(b.y)…
第1章 面向对象特性—继承(补充) 1.1 接口类.抽象类介绍 1.2 接口类 1.3 接口类应用过程 1.3.1 第一版:完成多种支付方式接口 1.3.2 第二版: 归一化设计,统一支付方式 1.3.3 第三版:野生程序员的乱搞 1.3.4 第四版:制定规范,统一方法名 1.3.5 第五版本:强制性制定规定 1.4 抽象类 1.4.1 解释: 1.4.2 为什么要有抽象类 1.4.3 抽象类实际应用理论 1.4.4 抽象类的使用方法 1.5 接口类和抽象类的区别 1.6 继承注意问题 第2章…
6.面向对象_内部类 1.内部类定义 内部类:将一个类定义在另一个类里面,对里面那个类就称为内部类.(内置类.嵌套类)内部类可以被私有修饰. 2.内部类访问规则 访问特点: 内部类可以直接访问外部类中的成员,包括私有成员.之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this 而外部类要访问内部类中的成员,就必须要建立内部类的对象.内部类不是独立存在的,是存在于外部类中,所以当内部类要建立对象时必须要标识出他是属于哪个外部类的(存在内部类名称相同的情况)…
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 其中类的数据属性是共享给所有对象的 >>>id(egg.role) 4341594072 >>>id(Person.role) 4341594072 而类的动态属性是绑定到所有对象的 >>>egg.attack <bound me…
面向对象的组合用法 一个类中以另一个类的对象作为数据属性(一个类中引用另一个类的对象)一种 "有" 的关系: 比如:定义 1个人类 & 1个武器类 然后 张三 有 枪 李四 有 刀 from math import pi class Circle: ''' 定义了一个圆形类: 提供计算面积(area)和周长(perimeter)的方法 ''' def __init__(self,radius): self.radius = radius def area(self): retu…
#目录 前言 组合 派生 通过继承来覆盖重载方法 最常用的重载场景实例方法的重载 从标准类中派生类方法的重载 前言 我们定义一个类是希望能够把类当成模块来使用,并把类嵌入到我们的应用代码中,与其他的数据类型.逻辑执行流结合使用.一般来说我们可以使用两种方法在代码中利用类,那就是组合和派生. 组合 组合: 就是将不同的类混合并加入到其他类中,来 增加类的功能 / 提高代码的重用性 / 易于维护(对类的修改会直接反应到整个应用中) .我们可以实例化一个更大的对象,同时还可以添加一些实例属性和实例方法…
今日内容 组合:自定义类的对象作为类的属性 继承:父类与子类.多继承 1.组合 将自定义类的对象作为类的属性 class Teacher: def __init__(self, name): self.name = name class Student: def __init__(self, name, teacher): self.name = name self.teacher = teacher tec = Teacher('zhangsan') stu = Student('lisi',…