Python的类的组合】的更多相关文章

python中,类的加载顺序 类是在文件加载时,会跟着加载 1  类名 2  类中的变量,从上到下,依次进行 3 加载到方法时,方法内的内容不执行,但是会开辟一个空间用来存储方法内的数据 4 当类内的方法和变量都加载完成时,会将类名指向self参数. class Student: # 第一步 def __init__(self,name,age,sex): # 第二步 self.name = name self.age = age self.sex = sex a = 1 # 第三步 b = 2…
类的组合,即在类实例化时,将另一个类的实例作为参数传入,这样可以将两个实例关联起来. 当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好. 例如,描述一个机器人类,这个大类是由很多互不相关的小类组成,如机械胳膊类.腿类.电池类等. 当类之间有很多相同的属性,提取这些统统的属性做成基类,用继承比较好. class course: def __init__(self,name,price,period,teacher): self.name=name self.price=pri…
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 对于类的静态属性和方法不同操作发生的效果 #·类名操作变量 不管操作可变还是不可变数据类型 都是类中对应的变量发生变化#对象名操作静态变量#引用变量:现在自己的命名空间中查找,找不到就去类的命名空间找#修改变量:# 如果是对可变数据类型中的元素进行修改,那么全局生效 #如果对可变…
1.组合与重用性 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为 1.一个类的属性可以是一个类对象,通常情况下在一个类里面很少定义一个对象就是它本身,实际意义很少 2.将另外一个对象作为自己的属性成员(自己的一个属性来自于另外一个对象),这就是组合 3.组合也可以解决代码冗余的问题,但是组合反应的是一种什么是什么的关系. >>> class Equip: #武器装备类 ... def fire(self): ... print('r…
1,类里可以定义两种属性: #静态属性 #静态属性就是直接在类中定义的变量 #动态属性 #动态属性就是定义在类中的方法 class Course: language = ['Chinese']#静态属性 def __init__(self,teacher,course_name,period,price):#动态属性 self.teacher = teacher self.name = course_name self.period = period self.price = price def…
类的组合: #组合 class A1(): def pr(self): return 'a1' class A2(): def pr(self): return 'a2' class A3(): def pr(self): return 'a3' class A(): def __init__(self): self.a1 = A1() self.a2 = A2() self.a3 = A3() abc = A() print(abc.a1.pr()) print(abc.a2.pr()) pr…
首先,使用面向对象是一个人狗大战的实例: class Person: def __init__(self, name, hp, aggr, sex): self.name = name self.hp = hp self.aggr = aggr self.sex = sex def hit(self, dog): dog.hp -= self.aggr print('\033[31;1m%s被打,掉了%s的血.\033[0m' %(dog.name, self.aggr)) class Dog:…
一.python类的组合:给一个类的对象封装一个属性,这个属性是另一个类的对象二.组合的意义:让类的对象与另一个类的对象产生关系,类与类之间产生关系.三.例子模拟英雄联盟写一个游戏人物的类 要求:(1)创建一个 Game_role的类.(2)构造方法中给对象封装 name,ad(攻击力),hp(血量).三个属性.(3)再创建一个武器类Weapen,构造方法中给对象封装 武器名.武器攻击力两个属性(4)武器类还有一个攻击方法用来完成攻击的功能.整体实现的是: 实例化一个对象 盖伦,ad为69, h…
继承: #继承 #什么时候用继承? # 1.当类之间有显著的不同,并且较小的类是较大的类的所需的组建时,用组合比较好. # 2.当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好 # 单继承 class A(): M = 10000 def __init__(self,name): self.name = name def AA(self): print("AA") class B(A): pass class C(A): M = 999999 #在dict属性字典里,…
一.面向对象和面向过程 1.1面向过程的特点 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 1.2面向过程的特点 优点是:解决了程序的扩展性.对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易. 缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题 二.类和对象 了解一些名…