1. 程式人生 > 實用技巧 >c++類和物件

c++類和物件

1前言
C++學習技術路線及目標
研究C++編譯器管理類和物件的方法 ===》避免死角
c++編譯器對類物件的生命週期管理,物件建立、使用、銷燬
c++面向物件模型初探
c++面向物件多型原理探究
操作符過載
C++基礎課程學習完畢以後,有沒有一個標準,來判斷自己有沒有入門。
面向抽象類(介面)程式設計
在這裡插入圖片描述
2.1 基本概念**
1)類、物件、成員變數、成員函式
2)面向物件三大概念
封裝、繼承、多型
3)程式設計實踐
類的定義和物件的定義,物件的使用
求圓形的面積
定義Teacher類,列印Teacher的資訊(把類的宣告和類的實現分開)

2.2類的封裝
1)封裝(Encapsulation)

A)封裝,是面向物件程式設計最基本的特性。把資料(屬性)和函式(操作)合成一個整體,這在計算機世界中是用類與物件實現的。
B)封裝,把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。
備註:有2層含義(把屬性和方法進行封裝 對屬性和方法進行訪問控制)
C++中類的封裝
成員變數,C++中用於表示類屬性的變數
成員函式,C++中用於表示類行為的函式
2)類成員的訪問控制
在C++中可以給成員變數和成員函式定義訪問級別
Public修飾成員變數和成員函式可以在類的內部和類的外部被訪問
Private修飾成員變數和成員函式只能在類的內部被訪問
//類是把屬性和方法封裝 同時對資訊進行訪問控制
//類的內部,類的外部
//我們抽象了一個類,用類去定義物件
//類是一個數據型別,類是抽象的
//物件是一個具體的變數。。佔用記憶體空間。
class Circle
{
public:
double r;
double s;
public:
double getR()
{
a++;
return r;
}
void setR(double val)
{
r = val;
}
public:
double getS() //增加功能時,是在修改類, 修改類中的屬性或者是方法
{
s = 3.14frr;
return s;
}
//private:
int a;
};

3)struct和class關鍵字區別
在用struct定義類時,所有成員的預設屬性為public

在用class定義類時,所有成員的預設屬性為private
2.3 C++面向物件程式設計舉例
目標:面向過程向面向物件思想轉變
初學者要仔細體會類和物件之間的關係,並通過適當練習鞏固和提高!
案例1 設計立方體類(cube),求出立方體的面積和體積
求兩個立方體,是否相等(全域性函式和成員函式)

案例2 設計一個圓形類(AdvCircle),和一個點類(Point),計算點在圓內部還是圓外
即:求點和圓的關係(圓內和圓外)

案例3 對於第二個案例,類的宣告和類的實現分開
在這裡插入圖片描述