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

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())







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值