您的位置:首页 > 编程语言 > Python开发

python学习第四课--面向对象

2014-04-17 21:41 211 查看
python使用类(class)和对象(object),进行面向对象(object oriented program)的编程,面向对象编程,提高程序的重复使用性。
相近的对象,归为类
定义鸟类
>>> class Brid(object):
...     have_feather=True
...     way_of_reproduction='egg'
假设有一只小鸡,叫summer,它是一个对象,且属于鸟类,

>>> chektion=Brid()
>>> chektion.have_feather
True
>>> chektion.way_of_reproduction
'egg'
动作
我们通过属性识别类别的时候,有时候根据这个东西能做什么来区分类别,

这样的行为为方法,python中通过在类内部定义函数,
>>> class Brid(object):
...     have_feather=True
...     way_of_reproduction='egg'
... def move_postion(self,dx,dy):
... postion=[0,0]
... postion[0]=postion[0]+dx
... postion[1]=postion[1]+dy
... return postion
...
>>> summer=Brid()
>>> print 'move postion',summer.move_postion(3,9)
move postion [3, 9]
类中增加了一个方法属性,move_postion,定义了一个summer对象,方法中第一个参数必须是self
,无论是否用到,在调用时候只要传递dx和dy参数,不需要self,(只是在内部使用)
子类
类别本身还可以进一步细分成子类
>>> class Chicken(Brid):
...     way_of_move='walk'
...     possible_in='home'
...
>>> summer=Chicken()
>>> print summer.way_of_move
walk
>>> print summer.move_postion(2,2)
[2, 2]
新定义类Chicken类,增加了两个属性way_of_move,possible_in
在类定义时,括号里为Brid,说明Chicken是Brid的一个子类,即Chicken继承自Brid
chicken享有Brid的所有属性和方法。

类中的object,说明这个类已经到了尽头,没有父类
面向对象符合人们的思维习惯,面向过程更方便了表达了人们的想法,
sum:
一切皆对象,
方法是一种属性,表示动作建立对象:对象名=类名()
引用对象的属性:object.attribute
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 面向对象