python面向对象的3个特点

来源:互联网 发布:php淘宝客系统 编辑:程序博客网 时间:2024/05/16 03:13

本文介绍面向对象的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个特点:封装,多态,继承
(完)
1 0
原创粉丝点击