面向对象的概念:继承、封装、多态
来源:互联网 发布:长颈鹿美语待遇 知乎 编辑:程序博客网 时间:2024/05/16 05:15
封装:对外部世界隐藏对象的工作细节。
继承:以普通的类为基础建立专门的类对象。
多态
面向对象程序设计最有趣的特性是多太,它是是让大多数人犯晕的特性。所以,先来介绍这个。
多态意思是“有多种形式”。多态意味着就算不知道变量所引用的对象类是什么,还是能对它进行操作,而它也会根据对象(或类)类型的不同而表现出不同的行为。
从最简单的开始
任何不知道对象到底是什么类型,但是又要对对象“做点什么”的时候,都会用到多态。这不仅限于方法----很多内建运算符和函数都有多态的性质,考虑下面这个例子:
>>> 1 + 2
3
>>> 'fish' + 'license'
'fishlicense'
复制代码
这里的加运算符对于数字(本例中为整数)和字符串(以及其他类型的序列)都能起作用。假设有个叫做add的函数,它可以将两个对象相加。那么可以直接将其定义成上面的形式,对于很多类型的参数都可以用,如下:
>>> def add(x,y):
return x+y
>>> add(1,2)
>>> add('hello.','world')
'hello.world'
复制代码
看起来有点傻,但是关键在于参数可以是任何支持加法的对象。
如果需要编写打印对象长度消息的函数,则只需对象具有长度(len函数可用)即可。
>>> def length_message(x):
print"The length of " , repr(x),"is",len(x)
>>> length_message('chongshi')
The length of 'chongshi' is 8
>>> length_message([1,2,3])
The length of [1, 2, 3] is 3
复制代码
len函数用于计算长度,repr用于放置函数的内容;repr函数是多态特性的代表之一---可以对任何东西使用。
很多函数和运算符都是多态的,你写的绝大多数程序可能都是,即便你并非有意这样。
封装
封装是对全局作用域中其它区域隐藏多余信息的原则。
封装听起来有些像多态,因为他们都是 抽象的原则---他们都会帮助处理程序组件而不用过多关心多余细节,就像函数做的一样。
但是封装并不等同于多态。多态的可以让用户对于不知道是什么类(或对象类型)的对象进行方法调用,而封装是可以不用关心对象是如何构建的而直接进行使用。
创建一个有对象(通过像调用函数一样调用类)后,将变量c绑定到该对象上。可以使用setName 和 getName 方法(假设已经有)
>>> c = closedObject()
>>> c.setName('sir lancelot')
>>> c.getName()
‘sir lancelot’
复制代码
继承
我们不想把同一段代码写好几,之前使用的函数避免了这种情况。但现在又有个更微妙的问题。如果已经有了一个类,又想建立一个非常类似的类,只是添加几个方法。
比如有动物类,我们又想在动物类的基础上建立鸟类、鱼类,哺乳动物类。
上面这些特性会根据后面的学习来深入的理解。
================================
- 面向对象的概念:继承、封装、多态
- 面向对象的特征:封装、继承、多态
- 面向对象编程的封装、继承、多态
- 面向对象编程的封装、继承、多态
- 面向对象--继承,多态,封装
- 面向对象 封装、继承、多态
- 面向对象:封装、继承、多态
- 面向对象,封装,继承
- 面向对象的三的特性:封装 继承 多态
- 面向对象的三大特点(封装,继承,多态)
- 面向对象的三个基本特征:封装、继承、多态
- 面向对象的三个基本特征-----封装、继承、多态
- 面向对象的三个基本特征是:封装、继承、多态
- 面向对象的三个基本特征-----封装、继承、多态
- 面向对象的三个基本特征是:封装、继承、多态
- 面向对象的三个基本特征是:封装、继承、多态。
- 面向对象的三个基本特征是:封装、继承、多态
- 面向对象的三个基本特征是:封装、继承、多态
- mysql基础教程
- props和state
- CSDN-markdown编辑器使用指南
- 连猴子都能看懂的 IOS 国际化(本地化)教程
- BufferedImage 和 Graphics2D 画图,背景色透明
- 面向对象的概念:继承、封装、多态
- scala调用java代码
- POJ 3276 Face The Right Way——开关问题
- java泛型案例之电话簿
- java数据类型
- group by 多个字段
- 创建型-工厂模式(simple factory)
- js弹出框、对话框、提示框、弹窗总结
- H5获取地理位置