中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

西安免費做網(wǎng)站哪家好大連seo外包平臺

西安免費做網(wǎng)站哪家好,大連seo外包平臺,做肥料網(wǎng)站,黃石做網(wǎng)站要多少錢目錄 前言 封裝 封裝的意義 struct 和 class 的區(qū)別 成員屬性設置為私有 前言 眾所周知, C是一個面向?qū)ο蟮木幊陶Z言(面向?qū)ο蟮腃語言的特點就是:封裝、繼、 多態(tài)),它與面向過程的C語言不通,對面向…

目錄

前言

封裝?

封裝的意義

struct 和 class 的區(qū)別

成員屬性設置為私有

前言

眾所周知, C++是一個面向?qū)ο蟮木幊陶Z言(面向?qū)ο蟮腃++語言的特點就是:封裝、繼、?多態(tài)),它與面向過程的C語言不通,對面向過程的初級認識就是他強調(diào)的是一個過程,這樣說是不是還是很空洞,下面舉個例子就會好理解很多:

在面向過程中:把大象裝進冰箱需要3步:打開冰箱門把大象放進去再關上冰箱,強調(diào)的是一個求解問的步驟

在面向?qū)ο笾?/span>:把大象和冰箱看作兩個對象,然后通過操作兩個對象來把大象放到冰箱里。關注的是對象,將一件事情拆分成不同的對象,靠對象之間的交互完成。

再比如一個選課系統(tǒng)
面向過程:選課、上課? 兩個過程
面向?qū)ο?/strong>:學生、老師? 關注的是兩個類對象之間的關系

?在C++中,萬事萬物皆為對象,對象有屬性行為

例如 :

人可以作為對象,屬性有姓名、年齡、性別、身高...,行為有走、跑、跳、吃飯...

車也可以作為對象,屬性有輪胎、方向盤、車燈...,行為有載人、放音樂、放空調(diào)...

具有相同性質(zhì)的對象,我們可以抽象成為類,人屬于人類,車屬于車類

封裝?

封裝的意義

封裝是C++面向?qū)ο笕筇攸c之一,它的主要意義就是在于將對象的屬性和行為作為一個整體,來表現(xiàn)我們的對象,另外就是對屬性和行為進行權限的控制?

它的語法是:class 類名{ 訪問權限:屬性 / 行為 }? ?(class為定義類的關鍵字

下面定義一個圓類,求圓的周長

#include<iostream>
using namespace std;const double PI = 3.14
//設計一個類
class Circle
{//訪問權限public: //公共權限//屬性(通常就是一些變量)int m_r; //半徑//行為(通常用函數(shù)來獲取)double calculateZC() //獲取圓的周長{return 2*PI*m_r;}
};int main()
{//通過圓類 實例化一個具體的圓(對象)Circle cl;  // Circle是先前創(chuàng)建的類 cl是具體的圓對象//給圓對象的屬性進行賦值cl.m_r = 10;  //通過  .  來獲取屬性 并進行賦值cout << "圓的周長為:"<< cl.calculateZC <<endl;system("pause");return 0;
}

以上代碼就是設計一個圓類class Circle,在這個圓類中,定義了屬性半徑m_r,以及通過函數(shù)double calculateZC創(chuàng)建一個求解圓周長的行為,并且在主函數(shù)中通過圓類實例化了一個具體的圓對象 Circle cl來訪問我們的類,cl就是我們的是實例化對象,要獲取屬性,就要使用到“.”點這個符號,通過cl.m_r來獲取半徑,同時進行賦值,同樣,獲取周長就是cl.calculate。

那么為加深對類設計的認識,下面再來一個例子:設計一個學生類,屬性有姓名和學號,可以給姓名和學號賦值,可以顯示學生的姓名和學號,

#include<iostream>
using namespace std;
#include<string>//設計一個學生類
class Student
{//訪問權限public: //公共權限//屬性(通常就是一些變量)string m_Name; //姓名string m_Id; //學號//行為(通常用函數(shù)來獲取)void  setName(string name) //獲取學生姓名{m_Name = name;}void  setId(int id) //獲取學生學號{m_Id = id;}void  showStudent() //顯示學生信息{cout << "姓名:" << m_Name << "學號:" << m_Id << endl;}//除了通過在主函數(shù)里面復制的方式,還可以用函數(shù)在類的行為來進行賦值void  setName(string name) //給學生姓名賦值{m_Name = name;}  };int main()
{//通過學生類 實例化一個具體的學生(對象)Student stu1;  //給學生1對象的屬性進行賦值stu1.m_Name = "張三"; stu1.m_Id = "123456789";stu1.showStudent//給學生2對象的屬性進行賦值stu2.m_Name = "李四"; stu2.m_Id = "1234567890";stu2.showStudent//通過行為對學生姓名進行賦值stu1.setName("張三");system("pause");return 0;
}?

?注意:? ?類中的屬性和行為統(tǒng)稱為? ?成員

? ? ? ? ? ? ? ?屬性? 也稱為? 成員屬性? ? 或? ?成員變量

? ? ? ? ? ? ? ?行為? 也稱為? 成員函數(shù)? ?或? ?成員方法

?在上面代碼中我們發(fā)現(xiàn) 每次都會在屬性和行為前面進行權限的限制(public),這是因為在設計類時,屬性和行為放在不同的權限下,訪問權限有三種:public(公共權限)、protected(保護權限)、private(私有權限)。下面一段代碼進行詳細解釋

公共權限public類內(nèi)可以訪問類外可以訪問
保護權限protected類內(nèi)可以訪問類外不可以訪問 (子類可以訪問父類中的保護內(nèi)容)
私有權限private類內(nèi)可以訪問類外不可以訪問(子類不可以訪問父類中的私有內(nèi)容)
#include<iostream>
using namespace std;
#include<string>//設計一個類
class Person
{public: //公共權限string m_Name;//姓名protected: //保護權限string m_Car;//汽車private://私有權限int m_Password;//銀行卡密碼//行為(通常用函數(shù)來獲取)
public:void  func() //獲取學生姓名{m_Name = "張三";m_Car= "勞斯萊斯";m_Password = 123456;};  //類內(nèi)都可以進行訪問};int main()
{//通過類 實例化一個具體的對象Person p1; p1.m_Name = "張三" ;p1.m_Car = "勞斯萊斯"; //此時這里會出現(xiàn)錯誤 因為汽車這個屬性是保護權限,不能在類外訪問p1.m_Password = "123456"; //此時這里會出現(xiàn)錯誤 因為銀行卡密碼這個屬性是保私有權限,不能在類外訪問system("pause");return 0;
}?

struct 和 class 的區(qū)別

?在C++中struct 和 class 的唯一區(qū)別就在于 默認的訪問權限不同,struct默認訪問權限為公共的,class的默認訪問權限為私有的。

?#include<iostream>
using namespace std;
#include<string>//設計一個類
class C1
{string m_Name;//當我們不定義權限的時候,默認是私有權限
};
//定義一個結構體
struct S1
{string m_Name;//當我們不定義權限的時候,默認是共有權限
};int main()
{C1 c1;//不能進行訪問,因為class的默認權限是私有的,類的外部不能訪問S1 s1;//能進行訪問,因為struct的默認權限是共有的,類的外部也能訪問system("pause");return 0;
}??

成員屬性設置為私有

通過使用私有成員屬性,可以實現(xiàn)類的封裝,隱藏內(nèi)部實現(xiàn)細節(jié),并提供對外部世界的受控訪問。這有助于提高代碼的模塊化程度,減少代碼的耦合性,同時也方便了代碼的維護和重構。將成員屬性設置為私有,有以下優(yōu)點:

優(yōu)點 1:將所有的成員屬性設置為私有,可以自己控制讀寫權限

優(yōu)點 2:對于寫權限,我們可以檢測數(shù)據(jù)的有效

?#include<iostream>
using namespace std;
#include<string>class Person
{
bublic:void setName(string name) //寫操作{m_Name = name;}string getName(string name) //讀操作{return m_Name;}void setAge(int age) //寫操作{m_Age = age;}string getIdol(string idol) //讀操作{return m_Idol;}private:string m_Name;// 可讀可寫int m_Age;    //只寫不讀string m_Idol; //只讀不寫};int main()
{Person  p;p.setName("張三");//寫操作cout << " 姓名:" << p.getName() << endl; //讀操作p.setAge(18);//寫操作cout << " 年齡:" << p.m_Age<< endl; //讀操作,此時會發(fā)生錯誤,因為我們只給了寫的權限p.m_Idol="se";//寫操作,此時會發(fā)生錯誤,因為我們沒有給寫的權限cout << " 年齡:" << p.getIdol()<< endl; //讀操作system("pause");return 0;
}??

上面這段代碼可以看看出來,我們的定義了私有屬性:name、age、idol ,私有權限在類外是不能訪問的,現(xiàn)在我們想要進行訪問,進行讀和寫操作,于是我們就定個公有權限的讀寫函數(shù)來獲取,寫就是setxxx(例如setName),讀就是getxxx(例如getName),對于我們定義的幾個屬性,我們只想外部寫(更改)年齡,但是不想外部讀取年齡,此時就只需要定義一個setAge函數(shù)來對年齡進行更改,而對于偶像Idol,我們只想外部進行讀操作,并不能對它進行寫操作(也就是更改Idol的姓名),此時就只需要一個getIdol函數(shù)來返回我們偶像名字,并且在主函數(shù)中進行打印,這樣外界就知道了這個人的idol是誰了,如果又讀又寫,就兩個函數(shù)都定義一個,然后在主函數(shù)進行調(diào)用。以上就是將所有的成員屬性設置為私有,可以自己控制讀寫權限。

對于寫權限,我們可以檢測數(shù)據(jù)的有效,可以舉個例來說明,就是說 我們在寫入年齡的時候,可以進行判斷輸入的年齡是否符合規(guī)定,比如我們在寫函數(shù)setAge()中添加一個判斷語句來設置輸入的年齡應該是0到100之間,如果寫入的年齡超過100或低于0,那么就是無效的。

?#include<iostream>
using namespace std;
#include<string>class Person
{
bublic:void setAge(int age) //寫操作{if (age < 0 || age > 100){cout << "年齡" << age << "輸入數(shù)字無效,賦值失敗!" << endl;return;}m_Age = age;}private:string m_Name;// 可讀可寫int m_Age;    //只寫不讀  (只能在0-100之間)string m_Idol; //只讀不寫};int main()
{Person  p;p.setAge(180);//寫操作cout << " 年齡:" << p.m_Age<< endl; //讀操作,此時會發(fā)生錯誤,因為我們只給了寫的權限system("pause");return 0;
}??

? ?

?

http://www.risenshineclean.com/news/35068.html

相關文章:

  • 分類信息網(wǎng)站平臺的推廣新聞20字摘抄大全
  • 張家港保稅區(qū)建設規(guī)劃局網(wǎng)站湖南優(yōu)化公司
  • 做精神科網(wǎng)站專業(yè)代寫軟文
  • 電商網(wǎng)站seoseo管理系統(tǒng)培訓
  • 南京做網(wǎng)站公司seo排名優(yōu)化推薦
  • wordpress好看分頁北京做網(wǎng)絡優(yōu)化的公司
  • 新聞網(wǎng)站開發(fā)書籍北京seo公司
  • 做網(wǎng)站上傳服務器嗎優(yōu)化網(wǎng)站教程
  • 海南高端網(wǎng)站建設直接打開百度
  • 淮南 搭建一個企業(yè)展示網(wǎng)站cba最新排名
  • 電腦裝機網(wǎng)站網(wǎng)站優(yōu)化的方法有哪些
  • 營銷型網(wǎng)站=企業(yè)登記代理網(wǎng)站關鍵詞優(yōu)化方法
  • 做網(wǎng)站那個平臺個人怎么做免費百度推廣
  • wordpress 導入幻燈片優(yōu)化網(wǎng)站建設
  • 杭州設計網(wǎng)站最好的公司東莞seo建站排名
  • 網(wǎng)絡服務合同糾紛定義簡述影響關鍵詞優(yōu)化的因素
  • 海南做房地產(chǎn)網(wǎng)站的網(wǎng)絡公司seo公司官網(wǎng)
  • 制作官網(wǎng)需要什么條件茶葉seo網(wǎng)站推廣與優(yōu)化方案
  • 網(wǎng)站制作手機網(wǎng)站成人培訓班有哪些課程
  • 網(wǎng)站制作價格和流程云浮新增確診病例30例
  • 建網(wǎng)站的外包公司百度推廣怎么做步驟
  • wordpress花生殼lamp南京百度seo代理
  • 員工做違法網(wǎng)站seo顧問賺錢嗎
  • 企業(yè)網(wǎng)站內(nèi)容運營方案策劃網(wǎng)絡廣告怎么做
  • 網(wǎng)站建設項目國內(nèi)外分析報告長春網(wǎng)站推廣公司
  • 網(wǎng)站建設優(yōu)化廣告流量關鍵詞搜索排行榜
  • 做網(wǎng)站引流推廣賺錢一個2元
  • 網(wǎng)站建設實用教程企業(yè)郵箱申請
  • 網(wǎng)站做seo屏蔽搜索關鍵詞排名監(jiān)控批量查詢
  • 河北涿州網(wǎng)站建設網(wǎng)絡營銷是指什么