• Python基础之面向对象


    1.Python只有类一说,没有接口一说,它支持多个类继承,子类继承父类,可以重写父类中公共和保护方法、变量。

    2.Python变量、函数默认是公共,单下划线变量、函数代表是受保护的,双下划线变量、函数代表是私有的。

    3.子类调用父类两种方法:

     (1)父类名.函数名(self,参数...)

     (1)super().函数名(参数...)

    He.py

    #coding=utf-8
    
    #定义GrandFather类
    class GrandFather:
    
        __uid1=1  #定义私有变量
        _uid2=2   #定义保护变量
        uid=3     #定义公共变量(不用创建类实例就可以访问)
    
        #定义构造函数
        def __init__(self):
            pass
    
        #定义公共方法
        def getUid1(self):
            return self.__uid1
    
        #定义保护方法
        def _getUid2(self):
            return self._uid2
    
    #定义Father类,继承GrandFather类
    class Father(GrandFather):
        
        #定义构造函数
        def __init__(self):
            GrandFather.__init__(self)
    
        #重写GrandFather中保护方法
        def _getUid2(self):
            self._uid2=4
            return self._uid2

    调用代码:

    Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> from Father import *
    >>> f=Father()
    >>> print(f.uid)
    3
    >>> print(f._uid2)
    2
    >>> print(f.getUid1())
    1
    >>> print(f._getUid2())
    4
    >>> 
    备注:
    创建类实例:类()
    变量:公共类变量、保护类变量直接通过"类.变量名"直接访问,也可以通过"类().变量名"进行访问,私有类变量只能在类中进行访问,外部不能访问。
    函数:类中公共函数、保护函数、私有函数只能通过"类().函数名()"直接访问,私有函数只能在类中进行访问,外部不能访问。
  • 相关阅读:
    PHP 反射 ReflectionClass
    go-字符串生成数据库字段
    grpc类型
    ubuntu安装zookeeper集群
    ubuntu安装JDK
    zookeeper分布式读写锁
    golang利用gob序列化struct对象保存到本地(转载)
    golang手动管理内存(转载)
    类json格式字符串打印
    研二寒假---关于Qt&CV曲线算法问题
  • 原文地址:https://www.cnblogs.com/joyet-john/p/7082761.html
Copyright © 2020-2023  润新知