資源描述:
《面向對象編程OOP》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第六章面向對象編程OOP2內容提要本節(jié)內容提要計算機語言的發(fā)展歷史面向對象的設計思想面向對象編程的特征對象和類概念類的定義對象的產生類之間的關系方法構造方法this關鍵字static關鍵字package和import訪問控制3計算機語言的發(fā)展歷史計算機語言的發(fā)展歷史(復習)第一代計算機語言機器語言第二代計算機語言匯編語言:助記符表示指令、數據、寄存器等第三代計算機語言高級語言:屏蔽機器細節(jié),更接近人類的語言面向過程的面向對象的(ObjectOrientedProgramming)4面向過程和面向對象面向過程的程序被認為是在一個數據集合上進行的一系列操作面向過程是在方法(函數)層次上重用代
2、碼面向對象編程(ObjectOrientedProgramming)實質是把數據(屬性)和處理這些數據的過程(方法)合并為一個單獨的“對象”――一個具有確定特性的自完備的實體面向對象是在對象層面上重用,更高級、更抽象5面向過程和面向對象我要吃餃子面向過程:我買菜、我和面、我調餡兒、我包餃子、我煮餃子面向對象:我?餐館6面向對象編程的特征面向對象編程的特征封裝指能夠把一個實體的信息、功能、響應都裝入一個單獨的對象中的特性封裝允許類的客戶不必關心類的工作機理就可以使用它。就象駕駛員不必了解發(fā)動機的工作原理就可以駕駛汽車一樣,類的客戶在使用一個類時也不必了解它是如何工作的,而只需了解它的功能即
3、可所有對數據的訪問和操作都必須通過特定的方法,否則便無法使用,從而達到數據隱藏的目的繼承繼承的方法允許在不改動原程序的基礎上對其進行擴充,這樣使得原功能得以保存,而新功能也得以擴展。這有利于減少重復編碼,提高軟件的開發(fā)效率多態(tài)多態(tài)性描述的是同一個消息可以根據發(fā)送消息對象的不同采用多種不同的行為方式前提:面向對象中的多態(tài)三個條件:子類繼承父類,子類覆蓋父類,父類指向子類7類和對象類和對象概念類類是同一類型的抽象,例如:房子、汽車有句話這樣講”物以類聚“類是一個靜態(tài)概念組成屬性方法對象對象是類的具體實現,例如:我的房子、我的汽車對象具有類的特征類和對象的關系類是對象的模板,對象是類的具體實例
4、8類和對象學生姓名年齡性別學號方法:選課()類對象1學生1張三20男10011選課:日語對象2學生2李四20男10012選課:法語9類之間的關系類和對象類之間的關系關聯關系使用實例變量實現的10類和對象-類之間的關系類和對象類之間的關系聚集關系是關聯關系的一種,是一種強關聯關系,是整體和個體的關系11類和對象-類之間的關系類和對象類之間的關系組合關系也是一種關聯關系,比聚合還強的一種關聯關系12類和對象-類之間的關系類和對象類之間的關系繼承關系(泛化關系)13類和對象-類之間的關系類和對象類之間的關系接口實現關系14OOP面向對象編程:重用性擴展性易于維護面向對象編程更符合人類的思維習慣
5、,容易理解15類的定義類和對象類的定義語法[]class{[][][]}例如:publicclassEmployee{//成員變量privateStringname;privatedoublesalary;//方法publicvoidsetSalary(doublesalary){this.salary=salary;}}對象的產生使用new關鍵字使用“.”訪問屬性,方法成員變量(屬性)方法(函數)16
6、方法的定義方法定義方法是能夠完成獨立功能的程序片段目的是提供程序的可重用性分類類方法,也叫靜態(tài)方法在方法前面有static關鍵字實例方法在方法前面沒有static關鍵字方法重載當類中的方法名相同,參數類型或者數量不同時,稱為方法的重載(overload)例如:publicvoidprintln(inti);publicvoidprintln(charc);publicvoidprintln(Strings);注意:不能通過返回值類型來完成方法重載;當參數列表不同時,可以改變返回值類型return返回到方法調用處補充:方法(函數)17類、方法命名規(guī)則類名:一般用名詞,首字母大寫。如:學生、
7、職員、汽車、訂單、文件異常、信息流、日志、事件等方法名:一般用動詞,首字母小寫。如:打印、設置、查找、銷毀、刪除、運行等18類、方法演示publicclassEmployee{//類屬性的封裝,成員變量privateStringname;privateintage;privateStringsex;privateStringaddress;privatedoublesalary;publicvoidsetName(String_na