在一片蒼茫的草地上生活著一群無憂無慮的小豬,他們有著粉粉嫩嫩或者黑不溜秋的**、圓圓的鼻孔、大大的耳朵,非常惹人喜愛。定睛一看,有的豬正在舒適的窩裡睡覺,有的正在夕陽下奔跑(國產的豬就是勤快),有的正為豬生大事而在談戀愛。。。那麼問題來了,這跟類和物件有什麼關係呢?對,你可能猜到了,我們將這群小豬抽象成為豬類,而每只可愛滴豬則是豬類例項化的物件。好,那麼我們如何使用c++來進行抽象呢?我們接著往下看。
我們可以使用class關鍵字來抽象乙個類,比如:
class
pig; //注意後面的分號不能丟
這樣我們就簡單的宣告了乙個類,可是花括號裡空空的,這跟鹹魚有什麼區別呢?別急,我們把剛才觀察到的一一枚舉上。每只小豬都有體重、性別、肉質情況等等,不過根據我們所側重的方面,只取前三者就夠了。
class
pig; //注意後面的分號不能丟
可是小豬們還會睡覺的啊,還會奔跑的啊。別急,我們再為其新增相應的方法(函式)。
class
pig; //注意後面的分號不能丟
這樣一來,我們所需要的都齊了,可是我們如何去定義這乙隻只活潑可愛的小豬呢。突然,天空一聲巨響,一道閃電從天而降,西邊的山崖裂開了一道巨縫,乙隻肥頭大耳的小豬蹦了出來,好,那麼我們就來(強行)例項化這只新夥伴吧。
首先我們先給他取乙個響亮的名字,就叫豬剛烈吧,誰讓你是上帝呢o(∩_∩)o
pig pig;
pig.m_strname = "zhugangile"
;
這樣豬剛烈就誕生了,但是我們還要賦給他體重性別什麼的啊,你可能會機智的這麼寫:
pig.m_c*** = 'm'
;pig.m_dweight = 250.00
;
這麼寫在語法上是可以的,但是不符合我們物件導向的封裝性,你想啊,當我們想知道人家的體重的時候需要詢問人家吧,可不能直接打量出來的。所以我們需要使用相應的方法(介面)來獲得相應的資料,同時使用訪問限定符private將必要的資料成員封裝起來,就像這樣:
class pig
; //注意後面的分號不能丟
注意我們使用了privat之後就不能在類外直接訪問成員了啊!
既然都已經定義好了,我們來使用一下這些方法吧。
pig.setname("zhuganglie");
pig.setweight(250.00);
pig.set***('m');
cout << "weight:"
<< pig.getweight() << endl;
cout << "***:"
<< pig.get***() << endl;
pig.run();
pig.sleep();
源程式**:
#include
using
namespace
std;
class pig
; //注意後面的分號不能丟
int main(void)
void pig::run()
void pig::sleep()
void pig::setweight(double weight)
void pig::set***(char ***)
double pig::getweight()
char pig::get***()
void pig::setname(string name)
最後說一下c++中的命名問題,我比較常用的是類名首字母大寫,比如:person;方法(函式)名首字母小寫後面的單詞首字母大寫,比如getname(),(也有使用get_name()之類的。。);變數名字的話,由於c++變數的作用域不同,對於全域性、普通變數均使用小寫字母,比如name、***,對於資料成員變數我習慣使用的是資料成員標記m(member)下劃線、資料型別、名字,比如m_strname。 python之初識物件導向
2 什麼是物件導向程式設計 1 面向過程的程式設計思想 1.1 程式設計思想的定義程式設計思想就是編寫程式的套路,與具體的技術點無關1.2 面向過程的定義及優缺點核心是過程二字,過程就是解決問題的步驟,也就是先幹什麼 再幹什麼 後幹什麼 過程的終極奧義就是將程式流程化 過程是 流水線 用來分步驟解決...
C 基礎之初識類與物件
在了解類與物件之前,我們首先來看幾個概念 什麼是類,什麼是物件,類與物件的關係是怎樣的,怎麼定義類,怎麼建立乙個物件 現實中的一切事物皆為為物件,抽象是對具體問題進行概括,抽取公共特效並加以描述的過程。抽象的過程就是對問題進行分析和認識的過程。抽象一般從兩個方面進行 以手機為例 1.資料抽象 共同的...
物件導向之初始類和物件
類專業解釋為 類指的是一類具有相同屬性和方法的事物的集合。物件的專業解釋為 類的例項化為物件 所以,需要先定義類,再通過例項化類得到物件 在python中一切皆是物件 類的定義 class student object stu school hnie count 0 def init self,na...