- 0
- 0
- 约4.37千字
- 约 24页
- 2022-05-13 发布于北京
- 举报
面向对象答辩小组;;;新华字典的释义,
面向:就是面对,朝向。
对象:行动或思考时作为目标的人或事物。;;什么是面向对象?
面向对象是一种编程思想,是在编程过程中解决问题的思路方法。
;面向过程和面向对象
面向过程:
面向过程就是根据需求,分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。
面向对象:
面向对象是从另一个角度来解决这个问题,把对象作为程序的基本单元。把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。;类和对象
什么是对象:
面向对象是基于对象的编程思想
那么对象到底是个什么东西呢?对象是指实际存在的物体,也称为实体,现实世界中的任何事物都可以称作对象,是构成世界的一个独立单位,它具有自己的静态特征和动态特征。静态特征指可以用某种数据来描述的特征,而动态特征则是指对象所表现的行为或对象所具有的功能。
什么是类:
类,是指类型,是从一部分实际存在具有相似的特征和行为的实物中,抽象出来的概念
总结:
类是对象的抽象概念,对象是类的实例
;定义类:
组成部分:类型 名称,属性,方法
1)通过class函数,定义一个自定义类型
2)通过__init__()函数,初始化类的属性数据
3)通过普通函数,定义类的行为方法
创建对象:
直接通过类的名称,创建对象
;;面向对象三大特征之封装
什么是封装?
从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗一起装进麻袋,然后把麻袋封上口子。
封装什么
你钱包的有多少钱(数据的封装)
你吃饭的具体功能是怎么实现的(方法的封装)
为什么要封装
封装数据的主要原因是:保护隐私(作为男人的你,脸上就写着:我喜欢男人,你害怕么?)
封装方法的主要原因是:隔离复杂度和变化(快门就是傻瓜相机为傻瓜们提供的方法,该方法将内部复杂的照相功能都隐藏起来)便于使用
封装的最后一点就是: 提高复用性
【封装原则】
1. 将不需要对外提供的内容都隐藏起来;
2. 把属??都隐藏,提供公共方法对其访问。
;封装分为两个层面
封装其实分为两个层面,但无论哪种层面的封装,都要对外界提供好访问你内部隐藏内容的接口(接口可以理解为入口,有了这个入口,使用者无需且不能够直接访问到内部隐藏的细节,只能走接口,并且我们可以在接口的实现上附加更多的处理逻辑,从而严格控制使用者的访问)
第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装
第二个层面的封装:类中把某些属性和方法隐藏起来(或者说定义成私有的),只在类的内部使用、外部无法访问,或者留下少量接口(函数)供外部访问。
在python中用双下划线的方式实现隐藏属性(设置成私有的);封装与扩展性
封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码;而外部使用用者只知道一个接口(函数),只要接口(函数)名、参数不变,使用者的代码永远无需改变。这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代码改变不足为虑。
;面向对象三大特征之继承:
继承的概念
在现实生活中,继承一般指的是子女继承父辈的财产
?在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承自狗。如下如所示:;继承的优势有哪些呢?
面向对象编程的优点是代码的复用,而继承就是实现代码复用的方法之一。如果需要定义几个类,而类与类之间有一些公共的属性和方法,这时就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了,它提高了代码的可扩展性。最大的好处是子类获得了父类的全部属性及功能。继承还可以一级一级地继承下来,就好比从爷爷到爸爸、再到儿子这样的关系。而任何类,最终都可以追溯到根类object,这些继承关系看上去就像一颗倒着的树。 ;继承的缺点:继承的一个缺点就是,可能特殊的本类又有其他特殊的地方,又会定义一个类,其下也可能再定义类,这样就会造成继承的那条线越来越长,使用继承的话,任何一点小的变化也需要重新定义一个类,很容易引起类的爆炸式增长,产生一大堆有着细微不同的子类. 所以尽可能遵守“多用组合少用继承”的原则。
继承”从字面意思上很好理解,儿子和爸爸长的很像,性格也类似,一看就知道是亲生的。但是呢,又不完全一样,儿子拥有他自己的特征。在程序上面,“继承”这种思想也类似于平时我们所理解的概念。
让我们以“快递公司老板”这个例子来说明“继承”在Python中的用法和优点;
你开的快递公司生意已经
您可能关注的文档
最近下载
- 基于机器学习的排序系统:从设计理念到实践应用的深度剖析.docx
- 温泉服务的流程.pptx VIP
- 2026年江西制造职业技术学院单招职业技能考试题库附参考答案详解(培优).docx VIP
- 2026中职单招(护理)专业知识考试题库(新版)(含答案).doc VIP
- 2024年湖南引导基金研究报告_20250319135147.pdf VIP
- 2025年苏州卫生职业技术学院单招英语考试模拟试题及答案解析.docx VIP
- 2024年社区工作者考试必背1000题题库及答案.docx VIP
- 2024最新输变电工程标准工艺(土建+电气+架空+电缆)应用图册。.pdf VIP
- 2025长沙民政职业技术学院单招《数学》试题汇编附答案详解.docx VIP
- 聚醚醚酮(PEEK)材料介绍和应用、发展(精编).pptx VIP
原创力文档

文档评论(0)