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是成员变量
  • 相关阅读:
    虚基类、虚函数与纯虚函数
    从尾到头打印链表
    Login
    (转)学习技术的三部曲:WHAT、HOW、WHY
    win7mstsc连接电脑
    C#面试题
    ASP.net C#笔记 (一)新建三层项目
    asp.net (一) 语法
    云服务器寻找
    VB.net笔记 (二)内置对象
  • 原文地址:https://www.cnblogs.com/20glym/p/13207630.html
Copyright © 2011-2022 走看看