zoukankan      html  css  js  c++  java
  • Python #面向对象

    #-*- coding:utf-8 -*-
    
    class Car(object):
        # 静态字段  通过Car.country来访问.(静态字段属于类)(普通字段属于对象)
    
        country = '中国'
        def __init__(self,make,model,year):
            # 普通字段 obj.name
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading =0
            # self.name = '公有字段'
            # self.__foo = "私有字段"
    
    
        def display_descriptive_name(self):
            long_name = str(self.year)+ ' ' + self.make + ' ' + self.model
            print  long_name.title()
            return long_name.title()
    
        def fill_gas_tank(self):
            return "This car need a gas tank!"
    
        def read_mileage(self):
            print 'This car has ' + str(self.odometer_reading) + ' miles on it'
    
        def update_odometer(self,mileage):
            if mileage >= self.odometer_reading:
                self.odometer_reading = mileage
            else:
                print "You can't roll back an odometer"
    
    #经典类
    # class ElectricCar(Car):
    #     def __init__(self,make,model,year):
    #         Car.__init__(self,make,model,year)
    
    #新式类
    class ElectricCar(Car):
        def __init__(self,make,model,year,battery_model):
            self.battery_model = battery_model
            self.battery_size = 70
            super(ElectricCar,self).__init__(make,model,year)   #继承父类
    
        def describe_battery(self):     #增加一个子类的方法
            print "This car has a " + str(self.battery_size) + " kwh battery"
    
        def fill_gas_tank(self):  #类的方法重载,如果跟父类中有重名,子类会调用自己的同名方法
            print 'This car does not need gas tank!'
    
    
    
    
    
    
    
    
    my_tesla = ElectricCar('tesla','M odel s','2017','松下NCR')
    my_tesla.display_descriptive_name()
    my_tesla.describe_battery()
    my_tesla.fill_gas_tank()
    
    
    
    # my_car = Car('audi','a8','2017')
    # my_car.display_descriptive_name()
    # # print my_car.fill_gas_tank()
    # my_car.update_odometer(100)
    # my_car.read_mileage()
  • 相关阅读:
    harbor1.9仓库同步迁移
    接口强制删除namespace 为Terminating的方法
    k8s 命令自动补全
    docker harbor 搭建&配置http/https 方法
    docker harbor 清理释放存储空间
    强化学习系列
    Kaggle的Outbrain点击预测比赛分析
    talkingdata比赛分析
    keras模型总结
    深度神经网络多任务学习(Multi-Task Learning in Deep Neural Networks)
  • 原文地址:https://www.cnblogs.com/lwsup/p/7582022.html
Copyright © 2011-2022 走看看