Python面向对象之组合】的更多相关文章

面向对象的组合用法 一个类中以另一个类的对象作为数据属性(一个类中引用另一个类的对象)一种 "有" 的关系: 比如:定义 1个人类 & 1个武器类 然后 张三 有 枪 李四 有 刀 from math import pi class Circle: ''' 定义了一个圆形类: 提供计算面积(area)和周长(perimeter)的方法 ''' def __init__(self,radius): self.radius = radius def area(self): retu…
今日内容: 1.组合 2.菱形继承 3.多态与多态性 昨天内容重点回顾: 1)调用也叫实例化:发生了2件事  1.创造空对象  2.触发对象下的__init__方法,然后将p连同参数一同传给init 2)绑定关系  1.类的调用就是普通函数  2.大多数给对象调用的,绑定给对象用的    绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入 精髓:对象不仅是一系列数据(自己独有的+与其他对象共有的),还包含专门操作该数据的方法 1.组合 1.什么是组合    组合就是一个类的对象具备…
一.组合二.封装三.property装饰器四.多态 一.组合 ''' 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之为组合 2. 为何用组合 组合也是用来解决类与类代码冗余的问题 3. 如何用组合 ''' # class Foo: # aaa=1111 # def __init__(self,x,y): # self.x=x # self.y=y # # def func1(self): # print('Foo内的功能') # # # class Bar: # bbb=2222…
组合 组合举例组合就是多个类,或者若干类联合起来完成一个任务下面举例两个类联合起来完成一个任务为了降低代码的耦合度,我们一般不会在一个类里实例化另外一个类,都是将一个类在外面实例化后传参到另外一个来这样就带来了一个问题,如果有很多类相互继承,我们就需要在外面实例化很多类最好能动态实例化类并传参(依赖注入),后面讲到 组合举例# 组合就是多个类,或者若干类联合起来完成一个任务# 下面举例两个类联合起来完成一个任务# 为了降低代码的耦合度,我们一般不会在一个类里实例化另外一个类,都是将一个类在外面实…
# 组合: 给一个类的对象封装一个属性,这个属性是另一个类的对象. class GameRole: def __init__(self, name, ad, hp): self.name = name self.ad = ad self.hp = hp def attack(self, p): p.hp = p.hp - self.ad print('%s 攻击 %s,%s 掉了%s血,还剩%s血' % (self.name, p.name, p.name, self.ad, p.hp)) de…
一.python类的组合:给一个类的对象封装一个属性,这个属性是另一个类的对象二.组合的意义:让类的对象与另一个类的对象产生关系,类与类之间产生关系.三.例子模拟英雄联盟写一个游戏人物的类 要求:(1)创建一个 Game_role的类.(2)构造方法中给对象封装 name,ad(攻击力),hp(血量).三个属性.(3)再创建一个武器类Weapen,构造方法中给对象封装 武器名.武器攻击力两个属性(4)武器类还有一个攻击方法用来完成攻击的功能.整体实现的是: 实例化一个对象 盖伦,ad为69, h…
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决可能有同名的py文件存在的情况 p1.util   vs   p2.util 引用的时候必须加上包名 1. 在python 文件中,一个包中间必须有一个__init__.py文件,并且是每一个目录下面必须存在这个文件.(即使该文件为空,也是必须存在的)这个是区分包与普通目录之间的区别 3. pyth…
------Python面向对象初 下面写一个类的简单实用,以便方便理解类 #python 3.5环境,解释器在linux需要改变 #阅读手册查询readme文件 #作者:S12-陈金彭 class SchoolMember(object): #学院成员类 member_nums = 0 # 类变量 | 类属性 def __init__(self,name,age,sex): # 初始化默认方法 self.name = name # 实例属性 | 成员属性 (self 调用自己的属性) self…
写在前面 上课第七天,打卡: 时间的高效利用: 前言: 今天egon老师补充了下 is 和 == 的区别,整理如下:Python中变量的属性以及判断方法 一.面向过程和面向对象 - 1.面向过程 核心是过程,过程就是解决问题的步骤:流水线.机械式: 优点:复杂的问题简单化,分成多个功能单元: 缺点:可扩展性差 应用:Linux内核.httpd.git - 2.面向对象 核心是对象: 要理解对象,应该把自己当做上帝,在上帝眼里一切存在的事物都是对象,不存在的也可以创建出来: 对象是 特征(变量)和…
python面向对象编程三大特性 小结:前面我们说完了类和对象的关系,相信对类和对象的理解更加透彻..让我们一起去研究面向对象的三大特性吧.... 继承 1.什么继承? 在程序中继承就是事物之间的所属关系. 2.继承的语法: 单继承 和多继承 #单继承 class A:pass class B(A):pass #B类继承了A类 A为父类,B为子类 print(B.__bases__) # __bases__ 查看所有继承的父类 #多继承 class C:pass class D:pass cla…