建立静态资料成员

上传人:sx****84 文档编号:242864097 上传时间:2024-09-10 格式:PPT 页数:31 大小:235.50KB
返回 下载 相关 举报
建立静态资料成员_第1页
第1页 / 共31页
建立静态资料成员_第2页
第2页 / 共31页
建立静态资料成员_第3页
第3页 / 共31页
点击查看更多>>
资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,建立靜態資料成員,關鍵字:,static,靜態資料成員不屬於特定物件,而是該類物件所共同擁有的,可做為類別範圍裡的靜態變數。,1,宣告靜態資料成員語法,static,資料型別 資料成員名稱,;,注意:靜態資料不屬於特定物件,所以靜態資料的初值無法利用建構子來設定,靜態資料成員的初值設定,將在類別的宣告外,利用,:,來完成初值設定,資料型別 類別名稱,:,資料成員名稱,=,初值,;,2,靜態資料成員的存取,存取靜態資料成員的語法如下:,類別名稱,:,靜態資料成員名單,3,一個班級裡學生的例子,學生類別的靜態資料:,(1),姓名,(2),學號,(3),數學成績,(4),英文成績,(5),班級人數,4,靜態資料,相同班級的學生,所擁有的班級人數都是相同的,所以這類別共同擁有的資料可以設為靜態資料,所以學生人數可以設為靜態資料,5,靜態成員函數,宣告靜態成員函數,與宣告一般函式相同,只要在宣告函式前,加上,static,靜態函式的呼叫,類別名稱,:,靜態成員函數名稱,(,輸入參數,),Ps:,靜態函數中只能修改靜態資料,不能修改一般資料程員,6,繼承,7,基礎類別,(Base class),:哺乳類是貓、狗類別的基礎類別,衍生類別,(Derived class),:貓、狗類別是繼承哺乳類的衍生類別,哺乳類,貓,狗,8,一般化,特殊化,抽,象,化,過,程,9,便於管理系統中的物件,系統的擴充更加容易,程式碼的再用,基礎類別的特性,基礎類別的特性,增加的特性,修改的特性,繼承,10,衍生類別的非靜態資料成員,基儲類別的,非靜態資料成員,11,人,學生,社會人士,姓名,身高,體重,性別,姓名,身高,體重,性別,學號,數學成績,英文成績,姓名,身高,體重,性別,職業,薪水,基礎類別,(Base class),:人,衍生類別,(Derived class),:學生、社會人士,12,類別屬性資料的繼承,學號 數學成績 英文成績,姓名身高,體重性別,13,基礎類別,(Base class),:動物,衍生類別,(Derived class),:魚、鳥,動物,魚,鳥,呼吸,吃東西,睡覺,呼吸,吃東西,睡覺,游泳,呼吸,吃東西,睡覺,飛,14,類別方法的繼承,游泳,(,動物 類別,),呼吸吃東西,睡覺,魚 的 類別,15,繼承機制,繼承權限的等級:,public, protected, private,class,衍生類別,:,繼承權限 基礎類別,16,public,繼承,基礎類別中成員的存取權限等級,public,protected,private,衍生類別繼承後存取權限等級,public,protected,無法存取,繼承,基儲類別成員為,private,,衍生類別將無法存取,public,和,protected,等級將不會改變,17,class animal ,private,:,void sleep();,protected:,void eat();,public:,void breathe();,;,void animal:breathe()cout“Breathe”endl;,void animal:eat()cout“Eat”endl;,void animal:sleep()cout“Sleep”endl;,18,class bird : public animal,public:,void fly();,;,void bird:fly()cout“Fly”endl;,採取,public,繼承方式,bird,物件不能使用,animal,的,sleep,方法,eat,方法為,protected,等級,breathe,方法為,public,等級,19,Public,繼承後的情形,class bird : public animal,public:,void fly();,;,class bird : public animal,protected:,void eat();,public:,void breathe();,void fly();,;,紅字代表經過繼承,animal,後,增加的方法,實際,bird class,的程式碼,20,int main(),bird Little_bird;,Little_bird.fly();,可以執行,因為,fly,為,bird,類別的,public,等級,Little_bird.breathe();,可以執行,因為,bird,是利用,public,方式繼承,animal,而且,breathe,在,animal,中是,public,等級,Little_bird.eat();,不可以執行,因為,bird,利用,public,方式繼承,animal,而,eat,在,animal,中是,protected,等級,所以不行直接執行,(,要另外用一個,public,等級的方法來使用,eat(),方法,。,Little_bird.sleep();,絕對不能執行,因為,sleep,在,animal,中是,private,等級。,21,class bird : public animal,public:,void fly();,void eat();,;,void bird:fly()cout“Fly”endl;,void bird:eat(),animal:eat(),;,採取,public,繼承方式,bird,類別不能使用,animal,的,sleep,方法,eat,方法為,protected,等級,breathe,方法為,public,等級,22,存取基礎類別的成員,想在衍生類別的成員函數中,存取基礎類別內同名的成員,可以利用,:,,語法如下,基礎類別名稱,:,資料成員,void bird:eat(),animal:eat(),;,23,private,繼承,基礎類別中成員的存取權限等級,public,protected,private,衍生類別繼承後存取權限等級,private,private,無法存取,繼承,基儲類別成員為,private,,衍生類別將無法存取,public,和,protected,等級將變成,private,等級,24,class animal ,private,:,void sleep();,protected:,void eat();,public:,void breathe();,;,void animal:breathe()cout“Breathe”endl;,void animal:eat()cout“Eat”endl;,void animal:sleep()cout“Sleep”endl;,25,class bird : private animal,public:,void fly();,;,void bird:fly()cout“Fly”endl;,採取,public,繼承方式,bird,類別不能使用,animal,的,sleep,方法,eat,方法為,private,等級,breathe,方法為,private,等級,26,Public,繼承後的情形,class bird : public animal,public:,void fly();,;,class bird : public animal,private:,void eat();,void breathe();,public:,void fly();,;,紅字代表經過繼承,animal,後,增加的方法,實際,bird class,的程式碼,27,int main(),bird Little_bird;,Little_bird.fly();,可以執行,因為,fly,為,bird,類別的,public,等級,Little_bird.breathe();,不可以執行,因為,bird,利用,private,方式繼承,,,所以,bird,中的,breathe(),是,private,等級,故不行直接執行,(,要另外用一個,public,等級的方法來使用,breathe(),方法,。,Little_bird.eat();,不可以執行,因為,bird,利用,private,方式繼承,所以,bird,中的,eat(),是,private,等級,故不行直接執行,(,要另外用一個,public,等級的方法來使用,eat(),方法,。,Little_bird.sleep();,絕對不能執行,因為,sleep,在,animal,中是,private,等級。,28,class bird : private animal,public:,void fly();,void eat();,void breathe();,;,void bird:fly()cout“Fly”endl;,void bird:eat()animal:eat();,void bird:breathe()animal:breathe();,採取,public,繼承方式,bird,類別不能使用,animal,的,sleep,方法,eat,方法為,private,等級,breathe,方法為,private,等級,29,protected,繼承,基礎類別中成員的存取權限等級,public,protected,private,衍生類別繼承後存取權限等級,protected,protected,無法存取,繼承,基儲類別成員為,private,,衍生類別將無法存取,public,和,protected,等級將變成,protected,等級,30,下回分解,31,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!