python 继承与组合】的更多相关文章

一.组合 #老师 课程 生日 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.price = price class Birth: def __init__(self,year,month,day): self.year = year self.month = month self.day = day class Teacher: def __init__…
#解决代码重用的问题,减少代码冗余 #继承是一种什么'是'什么的关系 class People: def __init__(self, name, age): # print('People.__init__') self.name = name self.age = age def walk(self): print('%s is walking' %self.name) class Teacher(People): pass class Student(People): pass # t=T…
一.继承 原则:大部分使用继承的场合都可以用组合取代或者简化,而多重继承则需要不惜一切的避免. 1. 什么是继承 继承:用于指明一个类的大部分或者全部功能都是从一个父类获得的.此时,父类的实例的所有动作可能都会工作在子类的实例上,这样可以把通用的功能放在父类里边,然后给子类设定一些特别的功能. 父类和子类的三种交互方式: ① 子类上的动作完全等同于父类上的动作 ② 子类上的动作完全覆盖了父类上的动作 ③ 子类上的动作部分替换了父类上的动作 2. 隐式继承 如果在父类中定义了一个函数,而在子类中没…
继承和组合 一.组合 组合:组合指的是,在一个类中以另外一个类的对象(也就是实例)作为数据属性,称为类的组合 也就是说:一个类的属性是另一个类的对象,就是组合 例子: 圆环是由两个圆组成的,圆环的面积就是外圆的面积减去内圆的面积.圆环的周长就是内圆的周长加上外圆的周长,这个时候,我们首先设计一个圆形类,计算一个圆的面积和圆的周长.然后在‘圆环类’组合圆形的实例作为自己的属性来用(这样的目的就是为了不用在写面积和周长的方法了,直接组合圆类的面积和方法去求解.减少了代码的重用) 1 from mat…
今日内容 组合:自定义类的对象作为类的属性 继承:父类与子类.多继承 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',…
1.组合与重用性 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为 1.一个类的属性可以是一个类对象,通常情况下在一个类里面很少定义一个对象就是它本身,实际意义很少 2.将另外一个对象作为自己的属性成员(自己的一个属性来自于另外一个对象),这就是组合 3.组合也可以解决代码冗余的问题,但是组合反应的是一种什么是什么的关系. >>> class Equip: #武器装备类 ... def fire(self): ... print('r…
[TOC] 关于Java中的继承和组合的一个错误使用的例子 相信绝大多数人都比较熟悉Java中的「继承」和「组合」这两个东西,本篇文章就主要就这两个话题谈论一下.如果我某些地方写的不对,或者比较幼稚,论证不清晰,欢迎大家留言指正. 什么是「组合」和「继承」 假设有2个class:A和B: 如果class A extends B 那么我们就说A继承B,A是子类,B是父类,这种情况就是继承. 如果A中有一个属性的类型为B,那么我们就说这种情况就是组合. 分别在什么情况下使用 回想一些我们一般会在什么…
Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类的public和protected成员变量,不能够继承父类的private成员变量 如果在子类中出现了同名称的成员变量,则子类的成员变量会屏蔽掉父类的同名成员变量.若要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用. public class Main { /** * @para…
目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式在内存中存放对象: (1)为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,这可以通过将对象置于堆栈或者静态存储区域内来实现.这种方式牺牲了灵活性. (2)在被称为堆的内存池中动态地创建对象.在这种方式,知道运行时才知道对象需要多少对象,它们的生命周期如何,以及它们的具体类型.…
python继承中子类访问父类的方法(包括__init__)主要有两种方法,一种是调用父类的未绑定方法,另一种是使用super(仅仅对于新式类),看下面的两个例子: #coding:utf-8 class Father(object): #继承自object,使用新式类 def hello(self, name): print 'i am ' + name + ' from Father ' class Son(Father): def hello(self, name): print 'i a…