zoukankan      html  css  js  c++  java
  • Python自学随笔(二)面向对象

      面向对象的特征:

      封装、继承、多态。

      面向对象的实现:

      创建类,实现封装:

        创建类,定义类方法、类属性。

    class anmil():#创建类
        def huxi(self):
            return '呼吸'
        def jiao(self):
            return '叫声'

      继承类,实现多态:

        被继承的类称之为父类,继承者被称之为子类,子类可以用父类的属性和方法;子类的属性各有不同,称之为多态。

    class dog(anmil):#继承类
        def jiao(self):#重写父类方法
            return ''
        def do(self):
            return '遛狗'
    
    class man(anmil):#继承animal类,实现多态
        def jiao(self):
            return ''
        def do(self):
            return '散步'

      实例化对象,面对对象的体现:

        将类实例化,建立实例化对象。

    damao = dog()#实例化对象
    
    print(damao.huxi())#调用父类方法
    print(damao.jiao())#调用子类方法
    
    xiaoming = man()
    
    print(xiaoming.jiao())
    print(xiaoming.do())

      

      self解析:Python中就规定好,函数的第一个参数,就必须是实例对象本身,并且把其名字写为self。

      

       staticmethod和classmethod装饰器:

        classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法;使用@classmethod修饰的方法可以使用类变量,但是不能使用成员变量。

        staticmethod 将一个方法变为静态方法,不能使用可以变化的类变量和实例变量。

        类变量和成员变量的区别如下:

    hisname = '王大'
    class worker(hisname):
        job = 'worker'#job是类变量
        def __init__(self,name):
            self.name = hisname#name是成员变量
  • 相关阅读:
    UE4.7的IOS发布和调试的相关问题
    【翻译】CEDEC2015 速成Albedo Chart 制作
    【翻译】KNACK制作介绍
    【翻译】口袋妖怪X/Y 制作技法
    【翻译】圣斗士星矢:圣域传说 制作介绍 特效合成等
    【翻译】圣斗士星矢:圣域传说 制作介绍 场景篇
    Linux 磁盘管理
    linux 文件系统
    Ubuntu18.04系统安装与设置
    C#(99):lazy延迟加载
  • 原文地址:https://www.cnblogs.com/20glym/p/13207630.html
Copyright © 2011-2022 走看看