ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python面向对象学习笔记2

2019-07-28 15:04:07  阅读:149  来源: 互联网

标签:None Python 子类 笔记 面向对象 私有 父类 方法 属性


1.在一个对象的方法的内部,可以直接访问该对象的属性。
2.关键字None的登场:在定义一个类的属性时,如果不知道设置什么初始值,则可以设置为 None. None 关键字表示什么都没有
可以将None赋值给任何一个变量。
3.Python中的身份运算符 isis not:身份运算符用于比较两个对象的内存地址是否一致(是否是对同一个对象的引用)。“==”是判断两个变量的值是否相等。格式:“A is B”, “A is not B”。在Python中,针对None比较的时候,建议使用 is 来判断。
4.私有属性和私有方法:在定义属性或者方法的时候,在属性名或者方法名前增加两个下划线,定义的就是私有属性或私有方法。私有方法和属性无法再在外部被访问,但可以在内部被访问。
PS:在Python中没有真正意义上的私有属性和方法,只有伪私有方法和伪私有属性,在私有方法或者属性前加上
“_类名”,就可以在外部访问了。
如:_Women__age
5.继承的登场:实现代码重用。子类拥有父类所有的属性和方法。
语法: class 类名(父类名):
子类继承自父类,可以直接享受父类中已经封装好的方法不需要再次开发。子类应根据职责,封装子类特有的属性和方法。
有关术语:父类 = 基类子类 = 派生类派生 = 继承
继承的传递性:C类从B类继承,B类又从A类继承,那么,C类就具有A类和B类所有的属性和方法。
6.方法的重写:当父类中封装的方法不能满足子类的需要时,可以对方法进行重写。
重写父类的方法有两种情况:
1)覆盖父类的方法
父类的方法实现与子类完全不同,就可用覆盖的方式在子类中重新编写父类的方法实现。
具体的方法就是在子类中定义一个和父类同名的方法并实现。在重写之后,运行只会调用子类中重写 的方法,而不会调用父类中封装的方法
2)对父类的方法进行扩展
如果,在子类的方法实现中包含父类的方法实现,即父类封装的方法实现是子类方法的一部分,就可以使用扩展的方式。
在需要的位置可以使用supe().父类方法,来调用父类方法的执行。在其他的位置针对子类的需求,编写子类特有的方法需求。
7.父类的私有属性和私有方法:子类对象不能在自己的方法内部直接访问父类的私有属性和私有方法。子类对象可以通过父类的共有方法间接访问到父类的私有属性和私有方法
私有属性和方法是对象的隐私,不对外公开,外界及子类都不能直接访问。私有属性和方法通常做一些内部的事情。

标签:None,Python,子类,笔记,面向对象,私有,父类,方法,属性
来源: https://blog.csdn.net/weixin_42341216/article/details/97612306

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有