博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面向对象的3个特点
阅读量:4170 次
发布时间:2019-05-26

本文共 1238 字,大约阅读时间需要 4 分钟。

本文介绍面向对象的3个特点:

1》封装

封装是从业务逻辑中抽象对象时,要赋予对象相关数据与操作,将一些数据和操作打包在一起的过程。封装是使用对象的主要魅力之一,它提供了一个简单方法来创建复杂方案,解决了世界是如何工作的这一问题,我们自然的认为周围的世界是由相互作用的对象组成,每个对象都有自己相关的数据,并能完成一定的功能,从设计的角度来看,封装还提供了一个重要的服务,它分开了是什么和怎么做这两个问题。对象的实现与使用是相互独立的,封装的另外一个优势是支持代码复用,它可以将常用功能以组件方式打包起来。
在上一篇博客(python通过面向对象程序设计方法 实现铅球运行轨迹的计算       网址:http://blog.csdn.net/sxingming/article/details/51280118)中,Projectile类封装了投射体的属性和方法,当主程序对铅球对象处理时,不必关心铅球内部的实现,而是关心这个铅球对象能够做什么,另外Projectile类可被多个程序和多个对象使用,而不需要重复的编写代码。
2》多态
多态意味着多种形式,当用面向对象时,它是指对象是怎么回应一个依赖于对象类型或种类的消息。多态的作用是让程序在不同情况下用一个函数名启用不同的方法。
多态举例:在屏幕上有一个图形对象列表objects,包括circle,rectangle,polygon等,使用相同的代码,可以画出列表中所有的图形:
for obj in objects:
    obj.draw(win)
上述for循环,分别执行了circle.draw()方法,rectangle.draw()方法,polygon.draw()方法.
多态给予了面向对象系统极大的灵活性,对象可以用该对象应该用的方式来执行动作,如果没有面向对象,这种灵活性很难实现。
3》继承
一个类(subclass)可以继承另一个类(superclass).
举例:
建立一个系统以记录员工信息,需要一个Employee类,它包含所有员工都具有的一般信息,其中一个方法是homeAddress(),该方法可返回员工的住址信息。员工分为正式员工(按月发工资)和临时员工(按天发工资),为正式员工定义一个MonthlyEmployee类(Employee类的子类),为临时员工定义一个DaylyEmployee类(Employee类的子类),这两个子类都继承了Employee类,因此都有homeAddress()方法,然而,不同类型的员工,发工资的方法不同,正式员工有monthlyPay()方法,临时员工有daylyPay()方法。
继承的优点:1>建造系统中的类,避免重复操作,例如,我们不必为两个子类分别写一个homeAddress()方法,从Employee类继承即可。2>新类经常是基于已经存在的类,这样就可以提升代码的复用程度
以上便是,python面向对象程序设计的3个特点:封装,多态,继承
(完)
你可能感兴趣的文章
深入理解递归函数的调用过程
查看>>
CL 与 LINK的命令行用法
查看>>
Pro*C 基础教程-简化版_Vol4 登录
查看>>
制作自己的MSDN2001OCT绿色版
查看>>
一个使用Pro*C实现增删改查的小例子
查看>>
Pro*C中嵌入PlSql块小例
查看>>
Pro*C动态SQL使用小例
查看>>
OCI小例
查看>>
Save could not be completed. Eclipse国际化的问题解决
查看>>
Xblo(JSP+Servlet+JavaBean+Oracle单用户Blog)
查看>>
Unable to use IEC module under PortablePython_1.1_py2.5.4
查看>>
实用英文地址书写格式
查看>>
在oracle中通过connect by prior来实现递归查询!
查看>>
百度空间如何才能另存为 mht
查看>>
ORACLE 中ROWNUM用法总结! (转)
查看>>
如何更新ARXSGPO.xml
查看>>
Unable To View Status Diagram [ID 746806.1]
查看>>
Accounting 里的Debit 和 credit是如何区分的。。。
查看>>
10gR1中ora-00201,ora-01103错误的解决办法
查看>>
Oracle用户权限管理
查看>>