zoukankan      html  css  js  c++  java
  • 初识python 面向对象

    what the f**k!!这个知识点学不好的最大元凶就是,我还单身???


    python基础(四):

    面向对象的三个特点: 封装,继承,多态

    类:

    对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类

    类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象

    类(Class) 由3个部分构成

    • 类的名称:类名
    • 类的属性:一组数据
    • 类的方法:允许对进行操作的方法 (行为)

    创建一个类:

    class Car(object):# 类命名规则按照大驼峰命名法.首字母大写
        # 方法
        def getCarInfo(self):
            print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))
    补充:
    有些代码的类可能没有继承object,这个问题在Python 3之后就不复存在了,因为Python3中所有的类都是新式类,由于涉及到深度和广度问题,有兴趣的朋友自己看看吧
    #新式类
    是指继承object的类 class A(object): ........... #经典类是指没有继承object的类 class A: ...........

     类方法:

    在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例

    # 定义类
    class Car:
        #定义方法
        # 移动
        def move(self):
            print('车在奔跑...')
    
        # 鸣笛
        def toot(self):
            print("车在鸣笛...嘟嘟..")

    __init__()方法:#init前后符号是两条下划线 _ _ 不要搞错.

    能够在创建对象的时候,就顺便把这个对象的属性给设置

    # 定义汽车类
    class Car:
    
        def __init__(self):
            self.wheelNum = 4
            self.color = '蓝色' #效果等同于上文的 BMW.color = '黑色', 只不过上文的是添加属性,这里的是在类里面就把属性写好了
    
        def move(self):
            print('车在跑,目标:夏威夷')
    
    # 创建对象
    BMW = Car()
    
    print('车的颜色为:%s'%BMW.color)
    print('车轮胎数量为:%d'%BMW.wheelNum)
    • __init__()方法,在创建一个对象时默认被调用,不需要手动调用
    • __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
    • __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

     

    类对象:

      类对象支持两种操作:属性引用和实例化

    # 定义类
    class Car: # 移动 def move(self): print('车在奔跑...') # 鸣笛 def toot(self): print("车在鸣笛...嘟嘟..") # 创建一个对象,并用变量BMW来保存它的引用 BMW = Car() BMW.color = '黑色' #给对象添加属性 BMW.wheelNum = 4 #轮子数量 给对象添加属性 BMW.move() # 调用对象的move方法 BMW.toot() # 调用对象的toot方法 print(BMW.color) print(BMW.wheelNum)

    --->

    车在奔跑...
    车在鸣笛...嘟嘟..
    黑色
    4

    • BMW = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象BMW来访问属性或者方法
    • 第一次使用BMW.color = '黑色'表示给BMW这个对象添加属性,如果后面再次出现BMW.color = xxx表示对属性进行修改
    • BMW是一个对象,它拥有属性(数据)和方法(函数)
    • 当创建一个对象时,就是用一个模子,来制造一个实物 

    类的继承:

    子类获得了父类的全部功能

     1 # 定义类
     2 class Car:
     3     # 移动
     4     def move(self):
     5         print('车在奔跑...')
     6 
     7     # 鸣笛
     8     def toot(self):
     9         print("车在鸣笛...嘟嘟..")
    10 
    11 class BMW(Car):
    12     def stop(self):
    13         print('stop')
    14 
    15 X5 = BMW()
    16 Audi = Car()
    17 
    18 X5.move()
    19 Audi.move()


    --->

    车在奔跑...
    车在奔跑...

  • 相关阅读:
    设置网络
    href
    webpack学习
    那些个像素
    jquery Id选择器与document.getElementByIdy区别
    又一个很垃圾的设计
    卸载QQ,360,迅雷,搜狗
    CheckFail设计很垃圾
    js写法【2】
    require的定义看不懂【2】
  • 原文地址:https://www.cnblogs.com/pantom0122/p/9411450.html
Copyright © 2011-2022 走看看