国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python面向對象程序設計中類的定義、實例化、封裝及私有變量

2020-02-16 01:25:23
字體:
來源:轉載
供稿:網友

本文實例講述了Python面向對象程序設計中類的定義、實例化、封裝及私有變量/方法。分享給大家供大家參考,具體如下:

1. 定義類

python中定義一個類的格式如下:

class MyClass(object):  def __init__(self,data1,data2):    self.__data1=data1    self.data2=data2  def __func1(self):    print("MyClass類的私有方法被調用!")  def print_data(self):    self.__func1()    print(self.__data1)    print(self.data2)  def setData(self,data):    self.__data1=dataclass1=MyClass('first_data','sencond_data')class1.print_data()class1._MyClass__func1()

類通過關鍵字 class 引導,后跟類的名稱,通常第一個字母大寫,類名稱MyClass后的括號內的object表示該類的父類,如果定義的類沒有顯明從哪個類繼承來的,就在括號內使用object,object類是所有類的父類。

__init__是定義的類的構造函數,可以對類的變量進行初始化,每當該類被實例化的時候,就會先執行該構造函數。

在類中定義的函數的一個參數一定要是self,代表類當前的實例化對象,但在調用時,不需要傳遞這個參數。

2. 類的實例

類的實例化方法如下:

obj=MyClass(x,x)

obj是類的實例化對象,MyClass是類名,括號內的變量是類的初始化變量(如果類中有定義的話)。

情況一: 類的初始屬性為空

class MyClass(object):  def __init__(self):    print("MyClass類的構造方法被調用!")class1=MyClass()

情況二: 類含有初始屬性

class MyClass(object):  def __init__(self,data1,data2):    self.__data1=data1    self.data2=data2class1=MyClass('first_data','sencond_data')print(class1.data2)

3. 類的封裝

封裝、繼承和多態是類的三大特征。類的封裝有兩層含義,一個是對數據的封裝,一個是對實現邏輯即方法的封裝。

數據(屬性)的封裝

還看上一個例子:

class MyClass(object):  def __init__(self,data1,data2):    self.__data1=data1    self.data2=data2class1=MyClass('first_data','sencond_data')print(class1.data2)

在這里類MyClass的實例化對象class1就具有了兩個屬性,分別是data1和data2,data1是私有屬性,只能在類內使用,data2是公有屬性,可以在類外使用。data1和data2就是對數據(屬性)的封裝。

實現邏輯(方法)的封裝

class MyClass(object):  def __init__(self,data1,data2):    self.__data1=data1    self.data2=data2  def printMax(self):    if self.__data1>self.data2:      print(self.__data1)    else:      print(self.data2)class1=MyClass(66,88)class1.printMax()

上邊類中的printMax函數實現了比較兩個數據大小并打印的功能,這個實現邏輯在類外部來說是看不到的,只可以調用該接口,相當于一個黑箱子,這就是實現邏輯(方法)的封裝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武隆县| 项城市| 临江市| 抚顺市| 中西区| 涞源县| 宁都县| 柳河县| 惠来县| 雷山县| 灵丘县| 年辖:市辖区| 开阳县| 疏附县| 疏勒县| 龙游县| 卫辉市| 孙吴县| 霍州市| 东莞市| 阿鲁科尔沁旗| 盐城市| 洛南县| 惠安县| 乐至县| 潞城市| 宿州市| 鲁山县| 兴山县| 永川市| 泸西县| 会泽县| 来宾市| 丘北县| 安仁县| 阳高县| 大兴区| 故城县| 太仓市| 独山县| 大理市|