• Python学习笔记七


    面向对象编程

    面向对象的特性如下:

      类:具有相同属性和方法的一类事物,成为类。

      对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性。

      封装:在类中对数据的赋值,类里面包含着类的数据和方法。

      继承:一个类可以派生出子类,在父类定义的属性方法自动被子类继承。

      多态:一个类可以有多个子类,每个子类继承父类的属性和方法,但是对父类的方法做了不同的实现,这就是同一个事物表现出不同的形态。

           例子:

    #定义类
    class Dog:
        name='egon'   #静态属性
        def bule(self):     #定义一个方法
            print("%s 汪汪汪" %Dog.name)
    f=Dog()   #把这个类实例化,相当于创建了一个对象
    f.bule()  #调用类中的方法
    结果:

    C:\Users\yangjianbo\AppData\Local\Programs\Python\Python36\python.exe C:/Users/yangjianbo/PycharmProjects/untitled/第七课面向对象/dog.py
    egon 汪汪汪

    实例化

      调用类的时候,会在内存中打开一个空的空间,类会把传入的参数

    __init__函数

      名称:构造函数

      作用:类的实例初始化

    类变量

      作用:大家共用的属性,节省开销。

    析构函数:在实例释放和销毁的时候,执行析构函数,通常做一些扫尾工作。

      def __del__(self):

    私有方法

      在方法前面加__

    私有属性

      在属性前面加__

    继承

      先写一个父类:

      例子:

    class Animal(object):
        def __init__(self,name,age):
            self.name=name
            self.age=age
    class Person(Animal):
        def __init__(self,name,age,aggr):
            Animal.__init__(self,name,age)
            self.aggr=aggr
    class Dog(Animal):
        def __init__(self, name, age, aggr):
            Animal.__init__(self,name,age)
            self.aggr = aggr
    egg=Dog('egon',18,'bbbb')
    print(egg.name)

    多继承:

      

    经典类:

    class Jiaoshi:
        def __init__(self,name,age):
            self.name=name
            self.age=age
    class Jiaoshou(Jiaoshi):
           def __init__(self,name,age,xingwei):
              Jiaoshi.__init__(self,name,age)   #经典类的写法
              self.xingwei=xingwei
    b=Jiaoshou('yangjianbo',18,'sleep')

    新式类:

    class Jiaoshi(object):
        def __init__(self,name,age):
            self.name=name
            self.age=age
    class Jiaoshou(Jiaoshi):
           def __init__(self,name,age,xingwei):
              super(Jiaoshou,self).__init__(name,age)   #新式类的写法
    b=Jiaoshou('yangjianbo',18,'sleep')

        

        

      

      

    一往无前虎山行,拨开云雾见光明
  • 相关阅读:
    Your branch and 'origin/master' have diverged, and have # and # different commits each, respectively
    testng dataprovider 的几种用法以及Java中的二维数组
    python 类属性 实例属性 类方法 实例方法 静态方法(转载)
    Webdriver中PageFactory的正确用法
    Selenium webdriver在最开始打开的时候浏览器的地址栏会出现data的解决方法
    Selenium webdriver如何处理confirm对话框的问题
    SoapUI 引用第三方jar包和引用Groovy脚本
    git rebase -i 合并commit
    Git 撤销commit的注意事项
    单进程执行
  • 原文地址:https://www.cnblogs.com/yangjianbo/p/7749410.html
Copyright © 2020-2023  润新知