类别与物件.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类别与物件

* * 類別與物件 Class Object 物件導向程式設計OOP 物件導向: 封裝Encapsulation 繼承Inheritance 多形性Polymorphism 類別與物件 類別是抽象的藍圖 物件事具體的東西 物件是類別變數 物件是類別的實現 物件是類別的樣例 …. 類別 Class 藍圖 抽象的 定義屬性(資料)與行為(函式) 告訴程式一個物件到底長成怎樣 語法: class 類別名稱 { 範圍: 資料宣告; 範圍: 函式宣告; }; 宣告在表單的標頭 範圍: Private ? 僅在類別內存取 Public ? 公開 Protected ? 內部及衍生類別存取 類別 Class class pass { public: //共用 int a; String b; void work() { b=“不及格”; if (a=60) b=“及格”; } }; 類別的實現(樣例化) 宣告別變數 ? 物件 Pass pa; 類別資料與函式的存取 物件.變數; pa.a; 物件.函式; pa.work(); 範例9-2a, p.9-8 類別-範疇運算子:: 將類別內的函式外移時使用 原類別內保留函式宣告 函式內容外移,並加上範疇運算子:: class pass { public: //共用 int a; String b; void work(); }; void pass::work() { b=“不及格”; if (a=60) b=“及格”; } 類別-建構子解構子 建構子: 物件建立時自動執行的函式 函式名稱需要與類別相同,不可傳回值 建構子多載?兩個以上建構子 解構子: 刪除物件所占用的記憶體 ~ class pass { public: //共用 int a; String b; pass() { a=99; } void work(); }; 物件陣列 一個類別可以產生多個物件 彼此獨立 將類別產生的物件採用陣列方式來加以存取 ex 9-2f, p.9-17 類別 Class - 資料封裝 class pass { private: //內部存取 int a; String b; public: void seta(int value) { a=value; } int geta() { return a; } String getb() { return b; } void work() { b=不及格; if (a=60) b=及格; } }; 類別 Class - 資料封裝 pass pa; pa.seta(StrToInt(Edit1-Text)); pa.work(); Label1-Caption=pa.getb(); 靜態資料 一個類別產生的物件彼此獨立 變數與函式獨立(跟著物件走) 靜態資料 ? 跟著類別走 ? 物件共用 在類別宣告時加上static保留字 需要在類別外再宣告 型態 類別名稱:: 變數名稱; ex 9-2gh, p.9-20 繼承 Inheritance 在舊有的類別上新增類別 舊有類別的資料與函式可被繼承(private類除外) class 類別名稱 : 繼承方式 舊類別名稱 { }; 繼承方式: Public:舊類別維持原狀 Private :舊類別public與protected轉為private Protected:舊類別public與protected轉為protected 繼承 Inheritance 函式改寫(Override):名稱與舊類別相同,但功能有修改 舊類別的函式仍可以被存取 物件.舊類別名稱::函式名稱 Ex 9-3abc, p.9-26

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档