python学习-----类的封装、继承,多态

巴扎黑
发布: 2017-06-23 14:48:20
原创
1755人浏览过

封装

封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

 

 1 class dog(object): 2     nationality='ch'#公有属性 3     def __init__(self,name,food,leven):#构造函数,方法,初始化方法 4         self.name=name #实例指针,指向 属性  对象成员 5         self.food=food 6         self.leven=leven 7         self.__haot='hhh'#前面双下划线定义为私有属性 8  9     def get_hoat(self):#定义方法为私有属性提供接口10         return self.__haot11     def say(self):#类中的方法  都是公有方法12         print('hello,my name is ',self.name)13     def eat(self,foods):14         print("my food is %s,but my eat %s"%(self.food,foods))15     def leve(self):16         print("my leve is ",self.leven)17 18     def __del__(self):19         print("删除中...")20 21 22 d=dog("liili",'gl',"5")23 d.say()24 d.eat('kkk')25 d.leve()26 print(d.get_hoat())#通用接口访问私有属性27 28 print(d._dog__haot)#强制访问私有属性29 print(d.nationality)30 31 dog.nationality='chan'32 print(d.nationality)33 d.nationality='us'34 print(d.nationality)
登录后复制
View Code

 

AI封面生成器
AI封面生成器

专业的AI封面生成工具,支持小红书、公众号、小说、红包、视频封面等多种类型,一键生成高质量封面图片。

AI封面生成器 108
查看详情 AI封面生成器
 1 class F1(object): 2     def __init__(self,n): 3         self.N = n 4         print('F1') 5  6 class F2(object): 7     def __init__(self,arg1): 8         self.a = arg1 9         print('F2')10 11 class F3(object):12     def __init__(self,arg2):13         self.b = arg214         print('F3')15 16 17 18 c1=F1('yjj')19 c2=F2(c1)#可以封装一个对象20 c3=F3(c2)#可以封装多层的对象21 print(c3.b.a.N)#通过  .  调用
登录后复制

 

继承

继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

立即学习Python免费学习笔记(深入)”;

通过继承创建的新类称为“子类”或“派生类”。

被继承的类称为“基类”、“父类”或“超类”。

 

 1 class studen(object):#定义类  学生 基类 2     def __init__(self,name,age,clas):#名字,年龄,班级 3         self.name=name 4         self.age=age 5         self.clas=clas 6     def talk(self): 7         print('%stalk one.....'%self.name) 8     def walk(self): 9         print('%s walk....'%self.name)10     def info_user(self):11         print('name is %s, age is %s,clas is  %s'%(self.name,self.age,self.clas))12 13 class clas_one(studen):#继承studen14     def __init__(self,name,age,clas,score):#重构构造方法15         #studen.__init__(self,name,age,clas)#先继承, 再重构16         super(clas_one,self).__init__(name,age,clas)#新式类17         self.score=score#增加新对象成员18     def talk(self):#重写方法19         print('is new talk ,%s'%self.name)20     def score_info(self):#新增加 子类方法21         print(self.score,'分')22 23 p=clas_one('学生一',36,'一年三班',178)24 p.talk()25 p.score_info()
登录后复制
View Code
 1 class F1(object): 2     def __init__(self): 3         print('F1') 4     def a1(self): 5         print('F1a1') 6     def a2(self): 7         print('F1a2') 8  9 class F2(F1):10     def __init__(self):11         print('F2')12     def a1(self):13         self.a2()14         print('F2a1')15     def a2(self):16         print('F2a2')17 18 class F3(F2):19     def __init__(self):20         print('F3')21     def a11(self):22         print('F3a1')23     def a2(self):24         print('F3a2')25 26 obj=F3()27 obj.a1()#调用时,self指向当前对象
登录后复制

 

 

多态

 

 1 class Animal(object): 2     def __init__(self,name): 3         self.name=name 4     def talk(self): 5         raise NotImplementedError('提示出错') 6  7  8 class c(Animal):#继承Animal 9     def talk(self):10         print('%s 1111'%self.name)11 12 class d(Animal):#继承Animal13     def talk(self):14         print('%s 2222'%self.name)15 16 17 def talk_all(obj):#用函数来模拟多态18     obj.talk()19 20 c1=c('猫')21 d1=d("狗")22 23 talk_all(c1)24 talk_all(d1)
登录后复制
View Code

 

以上就是python学习-----类的封装、继承,多态的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号