面向对象-组合

继承实现代码重用

class People:
    school="luffcity"
    def __init__(self, name, age, sex,):
        self.name = name
        self.age = age
        self.sex = sex

class Teacher(People):
    schoole=‘Luffycity‘
    def __init__(self,name,age,sex,level,salary):
        super(Teacher,self).__init__(name,age,sex)
        self.level=level
        self.salary=salary
    def teach(self):
        print("%s is teaching" % self.name)
class Student(People):
    schoole = ‘Luffycity‘
    def __init__(self, name, age, sex, class_time):
        super(Student, self).__init__(name, age, sex)
        self.class_time=class_time
    def learn(self):
        print("%s is learning" % self.name)
t1=Teacher(‘alex‘,18,‘male‘,10,3000)
s1=Student(‘zhangsan‘,28,‘female‘,‘08:30:00‘)

原文地址:https://www.cnblogs.com/yaya625202/p/8870657.html

时间: 2024-11-04 00:49:41

面向对象-组合的相关文章

python学习面向对象组合

面向对象的命名空间   类中的方法   类中的静态属性   对象的属性类的组合应用 面向对象的命名空间:class A:     country='中国'a=A()a.name='alex'print(a.name)      结果是alex  想要添加属性可以这么添加b=A()print(b.name)       结果是没有name的属性 对象中有地址簿来调用类的方法,表现内存不同,不过实际调用内存相同对象和类调用动态属性表现的地址不一样,实际一样静态属性完全一样地址a.country='中

Python 面向对象 组合-多态与多态性-封装-property

面向对象-组合 1.什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 1 class Foo: 2 xxx = 111 3 4 class Bar: 5 yyy = 222 6 7 obj = Foo() 8 obj.attr = Bar() 9 10 print(obj.xxx) 11 >>>111 12 print(obj.attr.yyy) 13 >>>222 2.为何要用组合 通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式

Python面向对象 | 组合

软件重用的重要方式,除了继承之外还有另外一种方式,即:组合 一.对象之间的交互 方法可以传参,参数可以是对象. class Person: role = 'person' def __init__(self, name, sex, hp, ad): self.name = name self.sex = sex self.hp = hp self.ad = ad def attack(self,dog): dog.hp -= self.ad print('%s攻击了%s,%s掉了%s点血' %

python全栈学习--Day19(面向对象组合,继承)

一.组合 表示的一种什么有什么的关系 先来说一下,__init__的作用 1 2 3 4 5 6 7 8 9 10 class Dog:     def __init__(self, name, kind, hp, ad):         self.name = name  # 对象属性 属性         self.kind = kind         self.hp = hp         self.ad = ad     def bite(self, p):         p.h

面向对象-组合使用

对象的组合使用: class A: def run(self): print('我居然被曲线运行了???') class B: def __init__(self): self.run_obj = A()b = B()b.run_obj.run() # 原文地址:https://www.cnblogs.com/jbzd/p/9222599.html

JS面向对象——组合使用构造函数模型与原型模型

该模型为创建自定义类型最常用的方式. <!DOCTYPE html> <html> <head> <title>组合使用构造函数模型和原型模型</title> <script type="text/javascript"> //组合使用构造函数模型和原型模型——构造函数模型用于定义实例属性,原型模型用于定义方法和共享属性. function Student(name,age,sex){ this.name=name

面向对象组合继承

function Person(name,sex,age){ this.name = name; this.sex = sex; this.age = age;}Person.prototype.eat = function(){ console.log("每个人都会吃饭");}function Programmer(name,sex,age){ this.habby = "看书"; Person.call(this,name,sex,age)}Programmer

【数据结构与算法】

数据结构与算法概述 数据结构的定义 我们如何把现实中大量而且非常复杂的问题以特定的数据类型(个体)和特定的存储结构(个体的关系)保存到相应的主存储器(内存)中,以及在此基础上为实现某个功能而执行的相应操作,这个相应的操作也叫做算法. 数据结构 == 个体 + 个体关系 算法 == 对存储数据的操作 数据结构的特点 数据结构是软件中最核心的课程. 程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言. 算法 衡量算法的标准 时间复杂度 指的是大概程序执行的次数,而非程序执行的时间. 空

python汇总

1.python基础 计算机语言&Python解释器pycharm使用基础语法python数据类型变量赋值,深浅copy三元运算符,文件处理的可读可写 2.函数 函数高阶函数-递归python内置方法名称空间-作用域-装饰器生成器和迭代器 3.模块 模块.包time和datetime模块randomos模块sys模块shutil模块-高级的文件.文件夹.压缩包处理模块json&&pickl&&shelvexml模块configparser解析配置文件hashlib模