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

python学习(3):python中的面向对象思想,类和对象

2017-03-02 21:50 621 查看
Python中的类和对象和java中的类和对象用法大部分是一样的,只是语法的差别

闲话少说,下面的代码是类的定义,类中成员和方法的定义,以及继承的使用

'''
类的使用
'''

class Car:
#wheelNumber = 4 # 公有属性,跟java不同的是,属性在__init__方法中声明即可
#color = 'red'
#__type = 'SUV' # 私有属性,__也是属性名的一部分

def __init__(self,wheelNumber,color,type): # 构造函数,self相当于java中的this
self.__wheelNumber = wheelNumber #类的成员变量在构造函数中定义
self.__color = color
self.__type = type

def getInfo(self): # 类中的方法都要有self,类外调用则不要传self参数
print('我有%d个轮子的%s,颜色是:%s'%(self.__wheelNumber,self.__type,self.__color))

def getType(self):
return self.__type
def getShuxing(self):
return self.__dict__ # __dict__变量是个字典,保存的是对象的属性

if __name__ == '__main__':
car1 = Car(2,'blue','Bike')
car1.getInfo() # 对象访问方法
#print(car1.__type) # 对象访问私有属性会报错,一般不直接访问属性
print(car1.getType()) # 用get属性方法访问属性
print(car1.getShuxing())

class SUV(Car): # 类名后面的小括号表示继承
def __init__(self,wheelNumber,color,type,qudong):
Car.__init__(self,wheelNumber,color,type) # 调用父类方法要加类名

self.__qudong = qudong

def getInfo(self): # 方法同名,子类方法覆盖父类方法
Car.getInfo(self) # 调用父类方法要加类名
print('我是%d驱的'%(self.__qudong))

def run(self):
print(self.getType())

def getShuxing(self):
return self.__dict__

if __name__ == '__main__':
car2 = SUV(4,'red','SUV',2)
car2.getInfo()
car2.getType()
print(car2.getShuxing())

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: