Python の学習-----クラスのカプセル化、継承、ポリモーフィズム

巴扎黑
リリース: 2017-06-23 14:48:20
オリジナル
1499 人が閲覧しました

カプセル化

カプセル化については最もよく理解されています。カプセル化はオブジェクト指向の特徴の 1 つであり、オブジェクトとクラスの概念の主な特徴です。

カプセル化、つまり客観的なものを抽象クラスにカプセル化すると、信頼できるクラスやオブジェクトのみがそのデータやメソッドを操作できるようになり、信頼できないクラスやオブジェクトからは情報が隠蔽されます。

 1 class dog(object): 2     nationality='ch'#公有属性 3     def __init__(self,name,food,leven):#构造函数,方法,初始化方法 4         self.name=name #实例指针,指向 属性  对象成员 5         self.food=food 6         self.leven=leven 7         self.__haot='hhh'#前面双下划线定义为私有属性 8  9     def get_hoat(self):#定义方法为私有属性提供接口10         return self.__haot11     def say(self):#类中的方法  都是公有方法12         print('hello,my name is ',self.name)13     def eat(self,foods):14         print("my food is %s,but my eat %s"%(self.food,foods))15     def leve(self):16         print("my leve is ",self.leven)17 18     def __del__(self):19         print("删除中...")20 21 22 d=dog("liili",'gl',"5")23 d.say()24 d.eat('kkk')25 d.leve()26 print(d.get_hoat())#通用接口访问私有属性27 28 print(d._dog__haot)#强制访问私有属性29 print(d.nationality)30 31 dog.nationality='chan'32 print(d.nationality)33 d.nationality='us'34 print(d.nationality)
ログイン後にコピー
コードを表示

 1 class F1(object): 2     def __init__(self,n): 3         self.N = n 4         print('F1') 5  6 class F2(object): 7     def __init__(self,arg1): 8         self.a = arg1 9         print('F2')10 11 class F3(object):12     def __init__(self,arg2):13         self.b = arg214         print('F3')15 16 17 18 c1=F1('yjj')19 c2=F2(c1)#可以封装一个对象20 c3=F3(c2)#可以封装多层的对象21 print(c3.b.a.N)#通过  .  调用
ログイン後にコピー

継承

継承とは、元のクラスを書き換えずに既存のクラスのすべての機能を使用できる機能を指します。これらの関数は、場合によっては拡張されますクラスの。

継承によって作成された新しいクラスを「サブクラス」または「派生クラス」と呼びます。

継承されたクラスは「基本クラス」「親クラス」「スーパークラス」と呼ばれます。コードを表示

コードを表示

以上がPython の学習-----クラスのカプセル化、継承、ポリモーフィズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート