《面向?qū)ο蟪绦蛟O計》ppt課件1初中信息技術.ppt
《《面向?qū)ο蟪绦蛟O計》ppt課件1初中信息技術.ppt》由會員分享,可在線閱讀,更多相關《《面向?qū)ο蟪绦蛟O計》ppt課件1初中信息技術.ppt(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章面向?qū)ο蟪绦蛟O計 2 1面向?qū)ο蟪绦蛟O計思想2 2類2 3對象 2 1面向?qū)ο蟪绦蛟O計思想 面向?qū)ο蟪绦蛟O計的特點1 抽象性用C 語言可以將該圖形描述如下 圓形 circle 數(shù)據(jù)抽象 doublex y r 行為抽象 setx sety setr draw 抽象是面向?qū)ο蠓椒ǖ暮诵?2 封裝性3 繼承性4 多態(tài)性多態(tài)性也是面向?qū)ο蟪绦蛟O計的重要特性之一 1 抽象 抽象是指從具體的實例中抽取出來共同的性質(zhì)并加以描述的過程 它忽略了一個主題中與當前目標無關的那些方面 以便更充分地注意與當前目標有關的方面 抽象過程 先注意問題的本質(zhì)及描述 其次是實現(xiàn)過程或細節(jié) 數(shù)據(jù)抽象 描述某類對象的屬性或狀態(tài) 對象相互區(qū)別的物理量 代碼抽象 描述某類對象的共有的行為特征或具有的功能 抽象的實現(xiàn) 通過類的聲明 抽象實例 鐘表 數(shù)據(jù)抽象 intHour intMinute intSecond代碼抽象 SetTime ShowTime 科目一考試駕駛員理論考試科目二考試場地考試科目三考試實際道路考試科目四考試安全文明駕駛常識考試2016年駕駛員試題網(wǎng)學車試題大全 抽象實例 鐘表類 classClock public voidSetTime intNewH intNewM intNewS voidShowTime private intHour Minute Second 2封裝 封裝指的是將方法和數(shù)據(jù)放于同一對象中 使得對數(shù)據(jù)的存取只能通過該對象本身的方法來進行 主要思想是將數(shù)據(jù) 數(shù)據(jù)成員 及處理這些數(shù)據(jù)的相應函數(shù) 成員函數(shù) 封裝到類class中 C 的一種新的定義數(shù)據(jù)類型的方法 而使用類的變量則稱為對象 object 在對象內(nèi) 只有屬于該對象的成員函數(shù)才可以存取該對象的數(shù)據(jù)成員 這樣 其他函數(shù)就不會破壞到它的內(nèi)容 從而起到保護和隱藏數(shù)據(jù)的效果 將抽象出的數(shù)據(jù)成員 代碼成員相結合 將它們視為一個整體 目的是增強安全性和簡化編程 使用者不必了解具體的實現(xiàn)細節(jié) 而只需要通過外部接口 以特定的訪問權限 來使用類的成員 實現(xiàn)封裝 類聲明中的 實例 3繼承 繼承是一種聯(lián)結類與類之間的層次模型 它允許和鼓勵類的重用 提供了一種明確表達共性的方法 一個新類可以從現(xiàn)有的類中派生 這個過程稱為類繼承繼承性很好地解決了軟件的可重用問題實現(xiàn) 聲明派生類 4多態(tài) 多態(tài)性指的是同一消息被不同的對象接收后被解釋為不同含義的能力 也就是一個接口名稱具有多種功能 即同一名稱 不同的功能實現(xiàn)方式 多態(tài)性語言具有語言靈活 抽象 行為共享 代碼共享的優(yōu)勢 很好的解決了應用程序函數(shù)同名的問題 目的 達到行為標識統(tǒng)一 減少程序中標識符的個數(shù) 實現(xiàn) 重載函數(shù)和虛函數(shù) 2 2面向?qū)ο蟮幕?類 2 2 1從結構到類2 2 2類的定義2 2 3構造函數(shù)2 2 4析構函數(shù) 2 2 1從結構到類 1 結構體VC不僅提供了大量預先定義的數(shù)據(jù)類型 而且還支持自定義的數(shù)據(jù)類型 結構就是把相互關聯(lián)的一些基本數(shù)據(jù)類型的元素組成一個新的獨立統(tǒng)一體 例2 1 定義一個職工Employee結構數(shù)據(jù)類型 它包括姓名 工資 地址 移動電話 structEmployee charname 9 floatsalary charaddress 40 charmobile 12 定義一個結構體 事實上是定義了一種數(shù)據(jù)類型 程序并不會給類型分配內(nèi)存 內(nèi)存分配是發(fā)生在結構體變量上 include iostream h include string h voidmain structEmployeeEmployeeA strcpy EmployeeA name 滅絕師太 EmployeeA salary 168 47 strcpy EmployeeA address 峨眉山上 strcpy EmployeeA mobile 13688667755 cout EmployeeA name 已經(jīng)領上工資了 其數(shù)目是 EmployeeA salary endl cout 要想拜謁她 請到 EmployeeA address 或直接傳呼 EmployeeA mobile endl 例2 2 定義一個具體職工EmployeeA 并對該職工進行賦值 程序的主文件名為DefStru cpp 程序的運行結果是 滅絕師太已經(jīng)領上工資了 其數(shù)目是168 47要想拜謁她 請到峨眉山上或直接傳呼13688667755 2 類類是從一個個具體的事物中把共同特征抽取出來形成的一個概念 它反映了事物之間的共性在C 中 在類的定義中 不僅有反映事物屬性的成員變量 還有反映屬性操作的成員函數(shù) 類一種自定義數(shù)據(jù)類型 2 2 2類的定義 在C 中類的定義方式為 class類名 private 私有數(shù)據(jù)及成員函數(shù) protected 保護數(shù)據(jù)及成員函數(shù) public 公有數(shù)據(jù)及成員函數(shù) class是類定義符 類名是一種標識符 它的命名規(guī)則與變量名的命名規(guī)則相同 一對花括號內(nèi)是類的說明部分 說明該類的成員 類的成員包括成員變量和成員函數(shù)兩部分 上述在類的成員變量和成員函數(shù)前面出現(xiàn)的關鍵字 public 公有 private 私有 或protected 保護 表示成員的訪問屬性 在類中聲明的成員變量若不特別指明 都被視為私有類型 私有類型的數(shù)據(jù)只允許類本身聲明的函數(shù)對其進行存取 而類外部的任何函數(shù)都不能訪問 公有類型的成員可以被任何函數(shù)來訪問 它們是類與外部的接口 類的定義反映了對類的描述 定義一個類就是定義一種數(shù)據(jù)類型 把握類的定義首先要掌握類中包含反映事物屬性的那些成員變量和反映事物操作的那些成員函數(shù) 例2 3 定義一個職工TEmployee類 它包括姓名 工資 地址 移動電話數(shù)據(jù)成員和兩個成員函數(shù) 分別實現(xiàn)輸入職工數(shù)據(jù)和顯示職工屬性 classTEmployee public voidinput char name floatsalary char address char mobile voiddisplay private charm name 9 floatm salary charm address 40 charm mobile 12 例2 4 定義一個交通工具類TVehicle 它具有輪子個數(shù) 載重兩個數(shù)據(jù)成員和三個成員函數(shù) 分別實現(xiàn)輸入交通工具的輪子和載重 取輪子個數(shù)和載重 classTVehicle public voidInitialize intwheels floatweight 交通工具的初始化intGetWheels void 取輪子個數(shù)floatGetWeight void 取載重private intm wheels 輪子個數(shù)floatm weight 載重 2 2 3構造函數(shù) 構造函數(shù)的作用是在對象被創(chuàng)建時使用特定的值構造對象 或者說將對象初始化為一個特定的狀態(tài) 在對象創(chuàng)建時由系統(tǒng)自動調(diào)用 如果程序中未聲明 則系統(tǒng)自動產(chǎn)生出一個默認形式的構造函數(shù) 允許為內(nèi)聯(lián)函數(shù) 重載函數(shù) 帶默認形參值的函數(shù) 構造函數(shù)舉例 classClock public Clock intNewH intNewM intNewS 構造函數(shù)voidSetTime intNewH intNewM intNewS voidShowTime private intHour Minute Second 構造函數(shù)舉例 構造函數(shù)的實現(xiàn) Clock Clock intNewH intNewM intNewS Hour NewH Minute NewM Second NewS 建立對象時構造函數(shù)的作用 intmain Clockc 0 0 0 隱含調(diào)用構造函數(shù) 將初始值作為實參 c ShowTime 拷貝構造函數(shù) 拷貝構造函數(shù)是一種特殊的構造函數(shù) 其形參為本類的對象引用 class類名 public 類名 形參 構造函數(shù)類名 類名 對象名 拷貝構造函數(shù) 類名 類名 類名 對象名 拷貝構造函數(shù)的實現(xiàn) 函數(shù)體 2 2 3析構函數(shù) 完成對象被刪除前的一些清理工作 在對象的生存期結束的時刻系統(tǒng)自動調(diào)用它 然后再釋放此對象所屬的空間 如果程序中未聲明析構函數(shù) 編譯器將自動產(chǎn)生一個默認的析構函數(shù) 例2 5 一個包含構造函數(shù)和析構函數(shù)的例子 程序的主文件為ConstructorExam cpp include includeclassExl private intx public Exl cout Ex1類的對象建立 其構造函數(shù)被調(diào)用 n Exl cout Ex1類的對象撤消 其析構函數(shù)被調(diào)用 n voidsetdata inti x i 2 在類中定義成員函數(shù)setdata voidprint 類Exl定義結束 classEx2 inty public Ex2 cout Ex2類的對象建立 其構造函數(shù)被調(diào)用 n Ex2 cout Ex2類的對象撤消 其析構函數(shù)被調(diào)用 n voidsetdata intj y j j voidprint 類Ex2定義結束voidEx2 print cout classEx2 setw 6 y n 成員函數(shù)print 定義結束 voidmain Exls Ex2t s setdata 5 s print t setdata 5 t print 程序運行結果為 Ex1類的對象建立 其構造函數(shù)被調(diào)用Ex2類的對象建立 其構造函數(shù)被調(diào)用classExl 10classEx2 25Ex2類的對象撤消 其析構函數(shù)被調(diào)用Ex1類的對象撤消 其析構函數(shù)被調(diào)用 2 3對象 2 3 1對象的聲明2 3 2對象的使用2 3 5對象的深入理解 2 3 2對象的使用 當聲明了對象后 就可以使用該對象所隸屬的類的公有 在public部分定義的 成員變量和成員函數(shù) 對象的使用 關鍵是使用對象所屬類的成員函數(shù) 即熟悉該類都有哪些常用的成員函數(shù) 例2 6 建立一個日期類 并且主函數(shù)中使用其公有的成員函 主文件為DefObject cpp includeclassTDate public voidSetDate intyear intmonth intday m year year m month month m day day voidShowDate cout Thedateis m year m month m day endl private intm year intm month intm day voidmain TDateToday 建立一個日期對象Today SetDate 2004 8 1 調(diào)用設置日期的函數(shù)Today ShowDate 調(diào)用顯示日期的函數(shù) 程序運行結果為 Thedateis2004 8 1- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 面向?qū)ο蟪绦蛟O計 面向 對象 程序設計 ppt 課件 初中 信息技術
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-10986191.html