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 >>>
备注: 创建类实例:类() 变量:公共类变量、保护类变量直接通过"类.变量名"直接访问,也可以通过"类().变量名"进行访问,私有类变量只能在类中进行访问,外部不能访问。 函数:类中公共函数、保护函数、私有函数只能通过"类().函数名()"直接访问,私有函数只能在类中进行访问,外部不能访问。