python中oo是什么意思_python中的OO

写给自己的备忘,很浅显,可能只是句法方面的事,不涉及OO思想之类的,因为OO思想是共通的,并没有python的OO思想一说

PS 示例代码来自《python简明教程》

继承

python中的继承语法跟java/c++系不同,却不是:也不是extends,是这样的

class child(parent):

pass             #py中,pass是空语句块

self,init,和del

python中的self有点类似于c++/java中的this是指针,代表本实例,不同的地方在于self要写在类函数的参数列表中,传递了self才能在函数中使用类实例的数据,但在调用时不需要写这个参数

init类似于构造函数,用法也差不多,而del,不像c++中的析构,比较像java中的finalize,在实例被回收时调用,同java中一样,这个函数被调用的时间是不一样的

class SchoolMember:

def __init__(self, name, age):

self.name = name

self.age = age

print ‘(Initialized SchoolMember: %s)’ % self.name

def __del__(self, name, age):pass

def tell(self):

print ‘Name:”%s” Age:”%s”‘ % (self.name, self.age)

SchoolMember().tell() 

类数据与实例数据

class child():

bi=2   

def __init__(self):

self.bb=3

重载

基本一样,不同的是python中的构造函数并不自动调用基类的构造函数,需要显式调用。

多继承

python支持多继承,不过不晓得有没有用,反正在我看来,多继承就是记载于葵花宝典的屠龙之技,自宫去学它了吧,也不一定用得上

让C/C++/Java人员不爽的地方:

* 类数据居然不用声明直接用的

* 数据居然不用指定类型的

* 函数居然没有返回值类型的

* 居然没有访问权限修饰符的(我是指public,private,protected,忘了术语怎么说了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值