学习笔记 python 面向对象学习
2024-10-11 22:43:07
封装:
封装是面向对象的特征之一,是对象和类概念的主要特性。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。
继承概念的实现方式主要有2类:实现继承、接口继承。
Ø 实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力(子类重构爹类方法);
在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。
抽象类仅定义将由子类创建的一般属性和方法。OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。
多态性(polymorphisn):
是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
Pyhon 很多语法都是支持多态的,比如 len(),sorted(), 你给len传字符串就返回字符串的长度,传列表就返回列表长度。
最新文章
- 1ms引发的问题
- HtmlEncode和JavaScriptEncode(预防XSS)
- HDU 4791 Alice's Print Service(2013长沙区域赛现场赛A题)
- java内部类以及匿名类
- 百度校招面试经历及总结(已发offer)
- vmware下ubuntu14.04调整分辨率
- WCF序列化与反序列化问题
- java.lang.StringBuffer源码分析
- HAProxy 的负载均衡服务器,Redis 的缓存服务器
- fiddler--手机https
- css概述
- ubuntu 14.04 GDAL
- GB2312、Unicode编码等
- 【转】ARM vs X86 – Key differences explained!
- python 元组用法
- PCP
- 初学git,初始化库|添加文件ignore|提交方法
- Visual Studio资源汇总
- sql注入(一)
- appium简明教程(1)——appium和它的哲学世界
热门文章
- Windows Server 2008 R2远程协助选项 灰色
- 洛谷1443 马的遍历【bfs】
- ==和equal()的区别
- MYSQL数据库在Windows系统中重置root密码
- gensim Word2Vec 训练和使用(Model一定要加载到内存中,节省时间!!!)
- weakSelf 运用 strongSelf来解决block的循环引用
- struts2 中 paramsPrepareParamsStack 拦截器
- PCIe 复位:Clod reset、warm reset、Hot reset、Function level reset
- Xcode编译警告Assigning to &#39;id<;XXXDelegat>; ——Nullable&#39; from incompatible type &#39;XXXView *const_strong&#39;
- [development][PCRE] PCRE