内容简介:
面向对象的一大特质是继承,在C++中,支持多类继承。在Java语言中,只支持单例继承,而且,所有的Class的基类都是Object。
Python作为面向对象的语言,将C++和java的特性进行了融合,即支持多类继承,所有的Class的父类都是object。
本节内容来看一下object的常用操作。
举例:
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#Persion类
class Persion: #继承自object
__age = 1;
__sex = True; #True:男; False:女
def getAge(self):
return self.__age;
def getSex(m):
return m.__sex;
def sayHello(self):
print("hello world!");
def __printHi(self):
print("Hi !!!");
obj = object()
print("object====attr===")
print(dir(obj))
persion = Persion();
print("Persion====attr===")
print(dir(persion))
运行结果:
object====attr===
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
Persion====attr===
['_Persion__age', '_Persion__printHi', '_Persion__sex', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'getAge', 'getSex', 'sayHello']
说明:
在Persion中,多了属性和方法,例如:
属性__age,__sex 以及sayHello方法等。