版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、類和對象類的繼承和多態(tài)綜合應(yīng)用案例第七章 面向?qū)ο蟪绦蛟O(shè)計參考書目Python 程序設(shè)計類和對象第七章 面向?qū)ο蟪绦蛟O(shè)計參考書目Python 程序目錄面向?qū)ο蟪绦蛟O(shè)計的3個基本特性類和對象類的繼承和多態(tài)綜合應(yīng)用案例這里說明圖片內(nèi)容 目錄面向?qū)ο蟪绦蛟O(shè)計的3個基本特性這里說明圖片內(nèi)容 面向?qū)ο蟪绦蛟O(shè)計的3個基本特性類是面向?qū)ο蟮膶崿F(xiàn)手段。面向?qū)ο笫浅绦蜷_發(fā)領(lǐng)域中的重要思想,這種思想模擬了人類認(rèn)識客觀世界的邏輯,是當(dāng)前計算機軟件工程學(xué)的主流方法。面向?qū)ο蟪绦蛟O(shè)計的3個基本特性類是面向?qū)ο蟮膶崿F(xiàn)手段。面向?qū)γ嫦驅(qū)ο蟪绦蛟O(shè)計的3個基本特性1 封裝性封裝(encapsulation)封裝是面向?qū)ο蟮暮诵?/p>
2、思想,將對象的屬性和行為封裝起來,不需要讓外界知道具體實現(xiàn)細節(jié),這就是封裝思想。面向?qū)ο蟪绦蛟O(shè)計的3個基本特性1 封裝性封裝(encaps面向?qū)ο蟪绦蛟O(shè)計的3個基本特性2 繼承性繼承(inheritance)繼承描述的是類與類之間的關(guān)系,通過繼承,新生類可以在無需贅寫原有類的情況下,對原有類的功能進行擴展。汽車類普通特性與功能轎車類普通特性與功能其它特性與功能繼承面向?qū)ο蟪绦蛟O(shè)計的3個基本特性2 繼承性繼承(inherit面向?qū)ο蟪绦蛟O(shè)計的3個基本特性3 多態(tài)性多態(tài)(polymorphism)多態(tài)指同一個屬性或行為在父類及其各派生類中具有不同的語義。面向?qū)ο蟪绦蛟O(shè)計的3個基本特性3 多態(tài)性多態(tài)
3、(polymo類和對象從具體的事物中把共同的特征抽取出來,形成一般的概念稱為“歸類”,忽略事物的非本質(zhì)特牲,關(guān)注與目標(biāo)有關(guān)的本質(zhì)特征,找出事物間的共性,抽象出一個概念模型,就是定義一個類。類(class)動物類類和對象從具體的事物中把共同的特征抽取出來,形成一般的概念稱類和對象在面向?qū)ο蟮姆椒ㄖ校愂蔷哂邢嗤瑢傩院托袨榈囊唤M對象的集合,它提供一個抽象的描述,其內(nèi)部包括屬性和方法兩個主要部分,它就像一個模具,可以用它鑄造一個個具體的鑄件。類(class)類和對象在面向?qū)ο蟮姆椒ㄖ?,類是具有相同屬性和行為的一組對象類和對象對象是現(xiàn)實世界中可描述的事物,它可以是有形的也可以是無形的,從一本書到一家圖
4、書館,從單個整數(shù)到繁雜的序列等都可以稱為對象。對象(object)類和對象對象是現(xiàn)實世界中可描述的事物,它可以是有形的也可以是類和對象對象是構(gòu)成世界的一個獨立單位,它由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一個獨立整體。對象(object)數(shù)據(jù)對象操作類和對象對象是構(gòu)成世界的一個獨立單位,它由數(shù)據(jù)(描述事物的屬類和對象1 類的定義和使用類中可以定義數(shù)據(jù)成員和成員函數(shù),數(shù)據(jù)成員用于描述對象特征,成員函數(shù)用于描述對象行為,其中數(shù)據(jù)成員也被稱為屬性,成員函數(shù)也被稱為方法。class 類名: 屬性名 = 屬性值 def 方法名(self): 方法體類和對象1 類的定義和使用類中
5、可以定義數(shù)據(jù)成員和成員函數(shù),數(shù)類和對象1 類的定義和使用類定義完成后不能直接使用,這就好比畫好了一張房屋設(shè)計圖紙,此圖紙只能幫助人們了解房屋的結(jié)構(gòu),但不能提供居住場所。為滿足居住需求,需要根據(jù)房屋設(shè)計圖紙搭建實際的房屋。同理,程序中的類需要實例化為對象才能實現(xiàn)其意義。類和對象1 類的定義和使用類定義完成后不能直接使用,這就好比類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)每個類都有一個默認(rèn)的_init_()方法。如果定義類時顯式地定義_init_()方法,則創(chuàng)建對象時Python解釋器會調(diào)用顯式定義的_init_()方法;如果定義類時沒有顯式定義_init_()方法,那么Python解釋器會調(diào)
6、用默認(rèn)的_init_()方法。類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)每個類都有一類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)_init_()方法按照參數(shù)的有無(self除外)可分為有參構(gòu)造方法和無參構(gòu)造方法。無參構(gòu)造方法無參構(gòu)造方法中可以為屬性設(shè)置初始值,此時使用該方法創(chuàng)建的所有對象都具有相同的初始值。有參構(gòu)造方法有參構(gòu)造方法中可以使用參數(shù)為屬性設(shè)置初始值,此時使用該方法創(chuàng)建的所有對象都具有不同的初始值。類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)_init類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)前面在類中定義的屬性是類屬性,可以通過對象或類進行訪問;在構(gòu)造方法中定義的屬性是
7、實例屬性,只能通過對象進行訪問。類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)前面在類中定類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)定義一個類Information,在該類中顯式地定義一個帶有3個參數(shù)的_init_()方法。class Inforamtion(object): def _init_(self, name, sex): = name self.sex = sexinfomation = Inforamtion(李婉, 女)類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)定義一個類I類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)在介紹析構(gòu)方法之前,先來了解Py
8、thon的垃圾回收機制。Python中的垃圾回收主要采用的是引用計數(shù)。引用計數(shù)是一種內(nèi)存管理技術(shù),它通過引用計數(shù)器記錄所有對象的引用數(shù)量,當(dāng)對象的引用計數(shù)器數(shù)值為0時,就會將該對象視為垃圾進行回收。類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)在介紹析構(gòu)方類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)getrefcount()函數(shù)是sys模塊中用于統(tǒng)計對象引用數(shù)量的函數(shù),其返回結(jié)果通常比預(yù)期的結(jié)果大1。這是因為getrefcount()函數(shù)也會統(tǒng)計臨時對象的引用。類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)getref類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)當(dāng)一個對象的引用計數(shù)器數(shù)值為
9、0時,就會調(diào)用_del_()方法,這個方法就是類的析構(gòu)方法。import sysclass Destruction: def _del_(self): print(對象被釋放)destruction = Destruction()print(sys.getrefcount(destruction)類和對象2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)(方法)當(dāng)一個對象的類和對象3 創(chuàng)建類的方法與成員訪問1.創(chuàng)建實例方法并訪問實例方法是指在類中定義的函數(shù)。該函數(shù)是一種在類的實例上操作的函數(shù)。同_init_()方法一樣,實例方法的第一個參數(shù)必須是self,并且必須包含一個self參數(shù)。functionName:指
10、定方法名,使用小寫字母開頭;self:必要參數(shù),類的實例,其名稱可以是self以外的單詞;parameterlist:指定除self參數(shù)以外的參數(shù),各參數(shù)間使用逗號“,”進行分隔;functionbody:方法體,實現(xiàn)的具體功能。def functionName(self,parameterlist): functionbody類和對象3 創(chuàng)建類的方法與成員訪問1.創(chuàng)建實例方法并訪問實類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)并訪問 數(shù)據(jù)成員是指在類中定義的變量,即屬性(對象的特征)。根據(jù)定義位置,屬性(成員變量)有兩種:一種是實例屬性,另一種是類屬性(類變量)。實例屬性是在構(gòu)
11、造函數(shù)_init_(以兩個下劃線“_”開頭和結(jié)束)中定義的,定義時以self作為前綴;類屬性是在類中方法之外定義的屬性。類屬性屬于類可通過類名訪問,也可以通過對象名訪問,為類的所有實例共享。類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)并訪問(1)類屬性類屬性是指定義在類中,并且在函數(shù)體外的屬性。類屬性可以在類的所有實例之間共享值,也就是在所有實例化的對象中公用。類屬性既可以在類外面添加和訪問,也能在類里面添加和訪問。添加與訪問方式有三種:1)類外面添加對象屬性對象名.屬性名 = 值rect.width = 50rect.h
12、eight = 80類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)并訪問2)類外面獲取對象屬性3)類里面獲取對象屬性print(矩形寬度是, rect.width)self.屬性名類和對象3 創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)類和對象3創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)并訪問 在Python中除了可以通過類名稱訪問類屬性,還可以動態(tài)地為類和對象添加屬性、修改類屬性。修改后的結(jié)果將作用于該類的所有實例。類屬性只能通過類對象修改,不能通過實例對象修改,如果通過實例對象修改類屬性,表示的是創(chuàng)建了一個實例屬性
13、。(2)實例屬性實例屬性是指定義在類的方法中的屬性,只作用于當(dāng)前實例中。實例的屬性只能通過實例名訪問。如果通過類名訪問實例屬性,將拋出異常。類和對象3創(chuàng)建類的方法與成員訪問2.創(chuàng)建數(shù)據(jù)成員(屬性)并訪類和對象4訪問限制:私有成員與公有成員類中定義的屬性和方法默認(rèn)為公有屬性和方法,該類的對象可以任意訪問類的公有成員。為了契合封裝原則,保證類中的代碼不被外部代碼輕易訪問。 Python支持將類中的成員設(shè)置為私有成員,在一定程度上限制對象對類成員的訪問。類和對象4訪問限制:私有成員與公有成員類中定義的屬性和方法默類和對象4訪問限制:私有成員與公有成員定義私有成員Python通過在類成員名之前添加雙下
14、劃線(_)來限制成員的訪問權(quán)限,語法格式如下:_屬性名_方法名類和對象4訪問限制:私有成員與公有成員定義私有成員Pytho類和對象4訪問限制:私有成員與公有成員定義私有成員例如,定義一個包含私有屬性_weight和私有方法_info()的類PersonInfo。class PersonInfo: _weight = 55 # 私有屬性 def _info(self): # 私有方法 print(f我的體重是:_weight)類和對象4訪問限制:私有成員與公有成員定義私有成員例如,定義類和對象4訪問限制:私有成員與公有成員私有成員的訪問創(chuàng)建PersonInfo類的對象person,通過該對象訪問
15、類的屬性:person = PersonInfo()person._weightAttributeError: PersonInfo object has no attribute _weight類和對象4訪問限制:私有成員與公有成員私有成員的訪問創(chuàng)建Pe類和對象4訪問限制:私有成員與公有成員私有成員的訪問注釋訪問私有屬性的代碼,在程序中添加如下的訪問類中私有方法的代碼:person = PersonInfo()# person._weightperson._info()AttributeError: PersonInfo object has no attribute _info類和對象4訪
16、問限制:私有成員與公有成員私有成員的訪問注釋訪問類和對象4訪問限制:私有成員與公有成員由以上展示的錯誤信息可以判斷,對象無法直接訪問類的私有成員。結(jié) 論 類和對象4訪問限制:私有成員與公有成員由以上展示的錯誤信息可類和對象4訪問限制:私有成員與公有成員class PersonInfo: _weight = 55 # 私有屬性 def get_weight(self): print(f體重:self._weightkg)person = PersonInfo()person.get_weight()私有屬性可在公有方法中通過指代對象本身的默認(rèn)參數(shù)“self”訪問,類外部可通過公有方法間接獲取類的
17、私有屬性。類和對象4訪問限制:私有成員與公有成員class Perso類和對象4訪問限制:私有成員與公有成員class PersonInfo: _weight = 55 # 私有屬性 def _info(self): # 私有方法 print(f我的體重是:self._weight) def get_weight(self): print(f體重:self._weightkg) self._info()person = PersonInfo()person.get_weight()私有方法同樣在公有方法中通過參數(shù)“self”訪問。類和對象4訪問限制:私有成員與公有成員class Perso類和
18、對象5類代碼塊Class語句和for、while語句一樣,都是代碼塊,即定義類就是執(zhí)行代碼塊。執(zhí)行上述代碼后,會輸出“class block”。在class代碼中可以包含任何語句。如果這些語句時可以立即執(zhí)行的,那就就會立刻執(zhí)行,比如print函數(shù)。除此之外,還可以動態(tài)向class代碼塊中添加新的成員。class MyClass:print(class block)類和對象5類代碼塊Class語句和for、while語句一樣類和對象6特殊方法:靜態(tài)方法和類方法直接定義、只比普通函數(shù)多一個self參數(shù)的方法稱為實例方法,它只能通過類實例化的對象調(diào)用。class Car: wheels = 4 #
19、屬性 def drive(self): # 實例方法 print(開車方式)類和對象6特殊方法:靜態(tài)方法和類方法直接定義、只比普通函數(shù)多類和對象6特殊方法:靜態(tài)方法和類方法類方法實例方法使用裝飾器classmethod修飾類方法的第一個參數(shù)為cls,它代表類本身實例方法的第一個參數(shù)為self,它代表對象本身即可由對象調(diào)用,亦可直接由類調(diào)用只能由對象調(diào)用可以修改類屬性無法修改類屬性類方法與實例方法有以下不同:類和對象6特殊方法:靜態(tài)方法和類方法類方法實例方法使用裝飾器類和對象6特殊方法:靜態(tài)方法和類方法類方法可以被類名或?qū)ο竺{(diào)用,其語法格式如下:定義類方法類名.類方法對象名.類方法 類和對象6
20、特殊方法:靜態(tài)方法和類方法類方法可以被類名或?qū)ο竺惡蛯ο?特殊方法:靜態(tài)方法和類方法在實例方法中無法修改類屬性的值,但在類方法中可以修改類屬性的值。修改類屬性class Apple(object): count = 0 def add_one(self): self.count = 1 classmethod def add_two(cls): cls.count = 2 apple = Apple()apple.add_one() print(Apple.count) Apple.add_two()print(Apple.count)02類和對象6特殊方法:靜態(tài)方法和類方法在實例方法中無法
21、修改類屬類和對象6特殊方法:靜態(tài)方法和類方法靜態(tài)方法與實例方法有以下不同:靜態(tài)方法實例方法使用裝飾器staticmethod修飾方法中需要以“類名.方法/屬性名”的形式訪問類的成員方法中需要以“self.方法/屬性名”的形式訪問類的成員即可由對象調(diào)用,亦可直接由類調(diào)用只能由對象調(diào)用類和對象6特殊方法:靜態(tài)方法和類方法靜態(tài)方法與實例方法有以下類和對象6特殊方法:靜態(tài)方法和類方法定義一個包含屬性num與靜態(tài)方法static_method()的類Example。class Example: num = 10 # 類屬性 staticmethod # 定義靜態(tài)方法 def static_method(
22、): print(f類屬性的值為:Example.num) print(-靜態(tài)方法)類和對象6特殊方法:靜態(tài)方法和類方法定義一個包含屬性num與類和對象7單例模式在創(chuàng)建類時,確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例,這個類稱為單例類,單例模式是一種對象創(chuàng)建型模式。比如:我們?nèi)粘J褂玫碾娔X上都有一個回收站,在整個操作系統(tǒng)中,回收站只能有一個實例,整個系統(tǒng)都使用這個唯一的實例,而且回收站自行提供自己的實例。因此回收站是單例模式的應(yīng)用。類和對象7單例模式在創(chuàng)建類時,確保某一個類只有一個實例,而且類和對象7函數(shù)和方法的區(qū)別1)函數(shù)的分類:內(nèi)置函數(shù):python內(nèi)嵌的一些函數(shù)。遞
23、歸函數(shù):直接或間接調(diào)用函數(shù)本身。匿名函數(shù):一行代碼實現(xiàn)一個函數(shù)功能。自定義函數(shù):根據(jù)自己的需求,來進行定義函數(shù)。03010402類和對象7函數(shù)和方法的區(qū)別1)函數(shù)的分類:內(nèi)置函數(shù):pyth類和對象7函數(shù)和方法的區(qū)別2)方法分類:類方法:通過類名的調(diào)用去操作公共模板中的屬性和方法。普通方法:直接用self調(diào)用的方法。屬性方法:property,將方法偽裝成為屬性,讓代碼看起來更合理靜態(tài)方法:不用傳入類空間、對象的方法, 作用是保證代碼的一致性,規(guī)范性,可以完全獨立類外的一個方法,但是為了代碼的一致性統(tǒng)一的放到某個模塊(py文件)中。私有方法:_函數(shù)名,只能在類中被調(diào)用的方法。特殊方法(雙下劃線方
24、法):以_init_為例,是用來封裝實例化對象的屬性,只要是實例化對象就一定會執(zhí)行_init_方法。010304050602類和對象7函數(shù)和方法的區(qū)別2)方法分類:類方法:通過類名的調(diào)類和對象7函數(shù)和方法的區(qū)別從作用域的角度來分析:(1)函數(shù)作用域:從函數(shù)調(diào)用開始至函數(shù)執(zhí)行完成,返回給調(diào)用者后,在執(zhí)行過程中開辟的空間會自動釋放,也就是說函數(shù)執(zhí)行完成后,函數(shù)體內(nèi)部通過賦值等方式修改變量的值不會保留,會隨著返回給調(diào)用者后,開辟的空間會自動釋放。(2)方法作用域:通過實例化的對象進行方法的調(diào)用,調(diào)用后開辟的空間不會釋放,也就是說調(diào)用方法中對變量的修改值會一直保留。調(diào)用的方式不同:(1)函數(shù):通過“函
25、數(shù)名()”的方式進行調(diào)用,直接使用類名去調(diào)用(2)方法:通過“對象.方法名”的方式進行調(diào)用,即類實例化出來去調(diào)用類和對象7函數(shù)和方法的區(qū)別從作用域的角度來分析:(1)函數(shù)作類的繼承和多態(tài) 繼承是為代碼復(fù)用和設(shè)計復(fù)用而設(shè)計的,是面向?qū)ο蟪绦蛟O(shè)計的重要特性之一。當(dāng)我們設(shè)計一個新類時,如果可以繼承一個已有的設(shè)計良好的類然后進行二次開發(fā),無疑會大幅度減少開發(fā)工作量。類的繼承和多態(tài) 繼承是為代碼復(fù)用和設(shè)計復(fù)用而設(shè)計的,是類的繼承和多態(tài)1類的繼承Python中類與類之間具有繼承關(guān)系,其中被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。子類在繼承父類時,會自動擁有父類中的方法和屬性。類的繼承和多態(tài)1類的
26、繼承Python中類與類之間具有繼承關(guān)系類的繼承和多態(tài)1 類的繼承單繼承指的是子類只繼承一個父類,其語法格式如下:class 子類(父類)類的繼承和多態(tài)1 類的繼承單繼承指的是子類只繼承一個父類,其類的繼承和多態(tài)1 類的繼承定義一個表示兩棲動物的父類Amphibian和一個表示青蛙的子類Frog。class Amphibian: name = 兩棲動物 def features(self): print(幼年用鰓呼吸) print(成年用肺兼皮膚呼吸)class Frog(Amphibian): def attr(self): print(f青蛙是) print(我會呱呱叫)
27、frog = Frog()print()frog.features()frog.attr()類的繼承和多態(tài)1 類的繼承定義一個表示兩棲動物的父類Amph類的繼承和多態(tài)2類的多繼承多繼承指的是一個子類繼承多個父類,其語法格式如下:class 子類(父類A, 父類B, .):類的繼承和多態(tài)2類的多繼承多繼承指的是一個子類繼承多個父類,類的繼承和多態(tài)2類的多繼承定義English類、Math類與Student類,使Student類繼承English類與Math類。class English: def eng_know(self): print(具備英語知識。)class Math:
28、 def math_know(self): print(具備數(shù)學(xué)知識。)class Student(English, Math): def study(self): print(學(xué)生的任務(wù)是學(xué)習(xí)。)類的繼承和多態(tài)2類的多繼承定義English類、Math類與類的繼承和多態(tài)3方法重寫子類可以繼承父類的屬性和方法,若父類的方法不能滿足子類的要求,子類可以重寫父類的方法,以實現(xiàn)理想的功能。class Felines: def speciality(self): print(貓科動物特長是爬樹)父類定義如下:class Cat(Felines): name = 貓 def speciality(sel
29、f): print(會抓老鼠) print(會爬樹)子類定義如下:類的繼承和多態(tài)3方法重寫子類可以繼承父類的屬性和方法,若父類類的繼承和多態(tài)3方法重寫如果子類重寫了父類的方法,但仍希望調(diào)用父類中的方法,那么可以使用super()函數(shù)實現(xiàn)。super().方法名()類的繼承和多態(tài)3方法重寫如果子類重寫了父類的方法,但仍希望調(diào)類的繼承和多態(tài)4多態(tài)與多態(tài)性在Python中,多態(tài)指在不考慮對象類型的情況下使用對象。相比于強類型,Python更推崇“鴨子類型”。“鴨子類型”是這樣推斷的:如果一只生物走起路來像鴨子,游起泳來像鴨子,叫起來也像鴨子,那么它就可以被當(dāng)做
30、鴨子。也就是說,“鴨子類型”不關(guān)注對象的類型,而是關(guān)注對象具有的行為。類的繼承和多態(tài)4多態(tài)與多態(tài)性在Python中,多態(tài)指在不考慮類的繼承和多態(tài)4多態(tài)與多態(tài)性Python中并不需要顯式指定對象的類型,只要對象具有預(yù)期的方法和表達式操作符,就可以使用對象。class Rabbit(Animal): def move(self): print(兔子蹦蹦跳跳)class Snail(Animal): def move(self): print(蝸牛緩慢爬行)def test(obj): obj.move()Rabbit和Snail類中都有move()方法,都可以傳遞給test()函數(shù)類的繼承和多態(tài)4多態(tài)與多態(tài)性Python中并不需要顯式指定對類的繼承和多態(tài)4多態(tài)與多態(tài)性2.多態(tài)性 多態(tài)性是指具有不同功能的函數(shù)可以使用相同的函數(shù)名,這樣就可以用一個函數(shù)名調(diào)用不同內(nèi)容的函數(shù)。在面向?qū)ο蠓椒ㄖ幸话闶沁@樣表述多態(tài)性:向不同的對象發(fā)送同一條消息,不同的對象在接收時會產(chǎn)生不同的行為(即方法)。也就是說,每個對象可以用自己的方式去響應(yīng)共同的消息。所謂消息,就是調(diào)用函數(shù),不同的行為就是指不同的實現(xiàn),即執(zhí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 古詩教學(xué)課件教學(xué)課件
- 個體診所藥品供應(yīng)鏈管理
- 代理投標(biāo)協(xié)議
- 二手箱包生產(chǎn)設(shè)備轉(zhuǎn)讓協(xié)議
- 二手車買賣協(xié)議書高級定制版
- 企業(yè)培訓(xùn)與組織合同
- 產(chǎn)業(yè)園區(qū)物業(yè)管理方案
- 臨時征用酒店合同
- 互聯(lián)網(wǎng)金融服務(wù)股份合同樣本
- 產(chǎn)學(xué)研合作品牌建設(shè)協(xié)議
- 綜合辦公樓裝修改造工程施工組織設(shè)計方案
- 2024年新華社招聘筆試參考題庫附帶答案詳解
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 2024年中小學(xué)學(xué)生防范電信網(wǎng)絡(luò)詐騙知識競賽題庫及答案
- 24春國家開放大學(xué)《學(xué)前兒童美術(shù)教育活動指導(dǎo)》期末大作業(yè)參考答案
- (正式版)QBT 8027-2024 家用和類似用途電動洗鞋烘鞋機
- 數(shù)字化時代背景下教師角色的思考
- 報童問題(至多成本分析法)ppt課件
- 某糧食倉庫屋面預(yù)應(yīng)力拱板制作分項施工方案(附圖)
- 監(jiān)控系統(tǒng)施工組織設(shè)計
- 淺談高支模安全隱患及控制措施
評論
0/150
提交評論