zoukankan      html  css  js  c++  java
  • python----类的定义、继承与重定义

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 #!/usr/bin/env python
     5 # -*- coding: utf-8 -*-
     6 
     7 class car():              #定义一个类
     8 
     9     def __init__(self,make,model,year):         #初始化类的属性  __init__(self): 是固定格式,self为python调用这个类本身的一个参数,必须加上。
    10         self.make = make                        #定义make属性的值
    11         self.model = model                      #定义model属性的值
    12         self.year = year                        #定义year属性的值
    13         self.odometer_reading = 0               #定义odometer_reading属性的值,并将其默认值设置为0.
    14 
    15     def get_describe_name(self):                #定义一种方法,其与函数一样,只是在类里面的叫法不同。一个类可以定义多种方法,每种方法都是对类的一些操作。
    16         long_name = str(self.year) + ' ' + self.make + ' ' + self.model
    17         return long_name.title()
    18 
    19     def read_odometer(self):
    20         print("This car has" + str(self.odometer_reading) + ' miles on it')
    21 
    22     def update_odometer(self,mileage):
    23         if mileage >= self.odometer_reading:
    24             self.odometer_reading = mileage
    25         else:
    26             print("You can't roll back an odometer!")
    27 
    28     def increment_odometer(self,miles):
    29         self.odometer_reading += miles
    30 
    31 class ElectricCar(car):                         #新建一个类,并以car作为他的父类。
    32     def __init__(self,make,model,year,number):  #初始化的时候,先继承父类的参数,再重构自己的参数。
    33         super().__init__(make,model,year)       #继承父类的属性结构,在python2.7中写法为super(ElectricCar,self)。
    34         self.new_number = number                #定义自身的属性
    35 
    36     def get_describe_name(self):                #假设父类有一个方法不符合子类的需求,需要重写,则可重定义一个重名的方法。
    37         print('Show you the new_number!!!!')    #父类的get_describe_name(self)与此处的get_describe_name(self)的内容是不同的。
    38 
    39 a = ElectricCar('tasla','model s',2016,111)
    40 print(a.get_describe_name())
    41 print(a.model,a.new_number,a.year)
  • 相关阅读:
    ABP官方文档翻译 3.4 领域服务
    ABP官方文档翻译 3.3 仓储
    ABP官方文档翻译 3.2 值对象
    ABP官方文档翻译 3.1 实体
    ABP官方文档翻译 2.7 对象到对象的映射
    ABP官方文档翻译 2.6 定时
    bootstrap 源码中部分不了解的css属性
    vue 父组件调用子组件事件/子组件调用父组件方法
    js性能优化问题学习笔记
    js递归性能影响及解决方案
  • 原文地址:https://www.cnblogs.com/QicongLiang/p/9813861.html
Copyright © 2011-2022 走看看