博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面向对象01
阅读量:5012 次
发布时间:2019-06-12

本文共 2195 字,大约阅读时间需要 7 分钟。

  1. 如图的继承关系,然后验证经典类与新式类在查找一个属性时的搜索顺序
    dCABAAAAAAAA&ek=1&kp=1&pt=0&bo=3QGTAQAAAAARF24!&tm=1492668000&sce=60-2-2&rf=0-0
class B:    # def test(self):    #   print("from B")    passclass C:    # def test(self):    #   print("from C")    passclass D(B,C):    # def test(self):    #   print("from D")    passclass E(B,C):    def test(self):        print("from E")    passclass F(D,E):    # def test(self):    #   print("from F")    passf = F()f.test()# new class (广度优先)''' F==>D==>E==>B==>C '''# classical class (深度优先)''' F==>D==>B==>C==>E '''
  1. 基于多态的概念来实现linux中一切皆问题的概念:文本文件,进程,磁盘都是文件,然后验证多态性
class file(object):    def __init__(self,contents):        self.contents = contents    def cat(self):        print("contents:%s"%(self.contents))class process(file):    file_type = 'pid'    def cat(self):        print("file_type : %s" %self.file_type)        #三种方法 调用父类对象,1.super附带当前类名、self代表父类 2.super不附带任何参数 3.父类.方法(self)        super(process, self).cat()        #super().cat()        # file.cat(self)class disk(file):    file_type = 'disk'    def cat(self):        print("file_type : %s" %self.file_type)        #三种方法 调用父类对象,1.super附带当前类名、self代表父类 2.super不附带任何参数 3.父类.方法(self)        super(disk, self).cat()        #super().cat()        # file.cat(self)        def cat_file(obj):    ''' 调用函数绑定方法 '''    obj.cat()proc1 = process("some things")disk1 = disk("disgusting things")cat_file(proc1)cat_file(disk1)
  1. 定义老师类,把老师的属性:薪资,隐藏起来,然后针对该属性开放访问接口
    苑昊老师有多种癖好,把这种癖好隐藏起来,然后对外提供访问接口
    而且以后还会苑昊老师培养很多其他的癖好,对外开放修改接口,可以新增癖好,并且需要保证新增的癖好都是字符串类型,否则无法增加成功。
class Teacher(object):    __salary = 100    __hobby = ["kiss egon's ass","和EGON睡觉"]    def __init__(self,name,age,):        self.name,self.age = name,age    def get_salary(self):        return self.__salary    def get_hobby(self):        for x in self.__hobby:            yield x    def add_hobby(self,new_hobby):        if type(new_hobby) == str:            self.__hobby.append(new_hobby)                  else:            print("error!")t = Teacher("苑昊", 16)print(t.get_salary())print("[",t.name,"]","hobby list\n-----")for x in t.get_hobby():    print(x)print("-----")t.add_hobby("女装")print(t.get_salary())print("[",t.name,"]","hobby list\n-----")for x in t.get_hobby():    print(x)print("-----")

转载于:https://www.cnblogs.com/anyanyaaaa/p/6740560.html

你可能感兴趣的文章
实现QQ第三方登录、网站接入
查看>>
HTML CSS 层叠样式表 三
查看>>
Qt pro pri 文件学习1
查看>>
软件工程概论第六周学习进度条
查看>>
[思路]导入导出功能
查看>>
【iOS】UICollectionView自己定义Layout之蜂窝布局
查看>>
golang——(strings包)常用字符串操作函数
查看>>
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
安装pandas报错(AttributeError: 'module' object has no attribute 'main')
查看>>
ch02 fundamental definition 01
查看>>
JSON解析
查看>>
Position is everything?(css定位学习的一些心得)(一)
查看>>
如何提高编程水平
查看>>
Jquery Uploadify3.21.与2.1版本 使用中存在的问题--记录三
查看>>
Linux查看进程的内存占用情况 分类: ubuntu ...
查看>>
[BZOJ 2818]Gcd
查看>>
FORM值传递与地址传递
查看>>
(译)yaml快速教程
查看>>