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())
闲话少说,下面的代码是类的定义,类中成员和方法的定义,以及继承的使用
'''
类的使用
'''
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())
相关文章推荐
- Python学习08:面向对象思想
- 【学习java编程思想】day_1面向对象程序设计的方法
- python2.7学习笔记(10) ——面向对象高级编程
- python学习之--面向对象
- python学习之路-8 面向对象之进阶
- Python之路,Day6 - 面向对象学习
- JavaSE个人学习笔记01:面向对象思想篇
- 学习心得——C++中的面向对象思想
- 学习面向对象思想
- 【Python】学习笔记——-8.4、面向对象高级编程:4.定制类
- JAVA学习--面向对象思想的落地法则
- OC学习--<猜拳游戏> 之 通过面向对象思想实现 2.0版本
- c#学习 9/22 面向对象思想
- python学习总结(面向对象进阶)
- Python学习笔记(2)--面向对象
- Python的面向对象思想分析
- OC学习--<猜拳游戏> 之 通过面向对象思想实现
- Python面向对象学习笔记-类、属性、方法
- Python学习—面向对象学习下
- 转:Python之路,Day6 - 面向对象学习