• 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')

        

        

      

      

    一往无前虎山行,拨开云雾见光明
  • 相关阅读:
    WCF服务自我寄宿 Windows服务
    客户端调用 WCF 的几种方式
    SQL Server 2005 数据库 可疑状态
    mysql server 自动断开的问题
    mysql数据表简单拷贝及重命名
    Mac提示App已损坏 你应该将它移到废纸篓的解决方案
    Mac系统下安装Tomcat,以及终端出现No such file or directory的错误提示解决方案
    md1
    转-SourceTree注册atlassian账号SIGUP按钮灰色无法注册的问题
    mysql my.cnf优化
  • 原文地址:https://www.cnblogs.com/yangjianbo/p/7749410.html
Copyright © 2020-2023  润新知