1、基本概念
1.1 類和對象初探
類:描述了具有相同特性(屬性)和相同行爲(操作方法)的對象。在程序中,類就是數據類型。
1.2 內置數據理性與函數
計算機在存儲數據時必須跟蹤3個基本屬性:
1) 信息存儲在何處;
2) 信息的值是多少;
3) 存儲的信息是什麼類型的。
變量:在值上可以發生變化的量;常量:不發生變化的。
函數:實現某種功能的黑匣子。1、我傳給你的是什麼信息;2、你對信息做了哪些處理;3、你返回給我的信息是什麼。
Eg:
int fnAddNum(int a,int b)
{
returnx+y;
}
注:return的含義是向調用者返回緊跟在他後面的信息
2、深入討論面向對象
2.1 類型的內部細節
面向對象的編程語言的最大特點是可以根據需求編寫自己所需的數據類型。
對象 具有 類 所描述的屬性和方法。
(電視機具有電視原理圖 所描述的屬性和方法)
類是屬性與方法的集合。而這些屬性和方法可以定義爲private,public或者是protected。
爲了實現數據的封裝,提高數據的安全性,我們一般會把類的屬性申明爲private,而把類的方法申明爲public。
Eg:
//員工類
public class Employee
{
privatestring name;
privateage int;
privatechar sex;
publicvoid setName(String strName)//修改員工的姓名
{
name=strName;
}
publicstring getName()//獲取員工姓名
{
returnname;
}
}
修改姓名《—setName()《—getName()
Init()方法是完成初始化操作的;
Start()是用來啓動瀏覽器的主線程;
Paint()是用來顯示Apple的界面。
每位員工(對象)都有一份午飯(屬性),但所有的員工(對象)只有一個微波爐(方法)。所有的員工(對象)都可以用這個微波爐(方法)來加熱自己的午飯(屬性)的冷熱。爲此,方法只有一份,供所有的對象使用,而屬性是每個對象一份。
2.2 深入討論函數
2.2.1 構造函數
構造函數是對屬性的初始化。
特徵:
是唯一沒有返回值的函數;
它的名稱必須要與類名稱相同;
它必須被申明爲public;
可以對它進行重載;
它在創建對象時會進行自被調用。
功能:
對類中的屬性進行初始化。
Eg:
//員工類
public class Employee
{
privatestring name;
privateage int;
privatechar sex;
//構造函數
publicEmployee(string strName,int intAge,char chrSex)
{
name=strName;
age=intAge;
sex=chrSex;
}
}
如何創建呢:lucy=new Employee(“Lucy”,14,’M’)
2.2.2 重載構造函數
1、函數重載是一個類中申明瞭多個同名的方法,但有不同的參數個數和參數類型。
2、函數重構是指子類中申明與父類中同名的方法,從而覆蓋了父類的方法。
1、重載
Eg:
int intA,intB,intC;
intA=10;
intB=20;
intC=intA+intB;
string strA,strB,strC;
strA="Hello ";
strB="World";
strC=strA+strB;
說明:同一個操作符“+”,實現了不同的功能。-------操作符重載
2.2.3 初始化與賦值
初始化與賦值是兩個不同的概念。
把一個變量或者函數申明爲static(靜態),其目的是爲某個類的所有對象的屬性或方法分配單一的存儲空間。
靜態變量是屬於類的,所有的對象都可以通過方法去修改它,而下一次修改是基於上一次的。
靜態函數也是屬於類的,調用的時候可以使用類名直接調用。
2.3 繼承(C#:,Java:extends)
代碼重用
子類擁有父類所擁有的方法和屬性。