1.什么是面向?qū)ο?/p>
2.應(yīng)該如何學(xué)習(xí)面向?qū)ο?/p>
3.面向?qū)ο蟮乃季S方式
什么是面向?qū)ο?/b>
1.面向?qū)ο笫且环N編程方法;與之對應(yīng)的是面向過程的編程方法
2.面向?qū)ο笫且环N思維方式; 和現(xiàn)實(shí)生活中的思維方式一樣?
3.面向?qū)ο蟛皇且环N編程語言;
應(yīng)該如何學(xué)習(xí)面向?qū)ο?/b>
1.掌握一門面向?qū)ο笳Z言的語法
2.掌握面向?qū)ο蟮乃季S方式
3.熟悉面向?qū)ο笤O(shè)計(jì)原則
4.掌握面向?qū)ο笤O(shè)計(jì)模式
面向?qū)ο蟮哪繕?biāo):消除應(yīng)用程序中的重復(fù)代碼
什么是面向?qū)ο蟮乃季S方式
1.首先確定誰來做,其次確定怎么做
2.首先考慮整體,其次考慮局部
3.首先考慮抽象,其次考慮具體
不要認(rèn)為掌握了一門面向?qū)ο笳Z言就是掌握了面向?qū)ο螅?xí)慣于將面向?qū)ο笈c現(xiàn)實(shí)世界做比較;
1.創(chuàng)建類的方法
2.創(chuàng)建對象的方法
3.對象和對象的引用
定義類的方法
class類名
{
? ? 屬性;
? ? 方法;
}
·屬性也叫成員變量,主要用于描述類的狀態(tài)
·方法也叫成員方法,主要用于描述類的行為
生成對象的方法
格式:類名 對象名 = new 類名();
例如:Girl girl = new Girl();
對象屬于引用數(shù)據(jù)類型
堆內(nèi)存中存放對象對象本體
棧內(nèi)存中存放對象的名字,對象的名字又叫“引用”
張三表示一個(gè)人的名字,張三名字就是張三本人的引用。
ZhangSan zhang =new ZhangSan();
前半部表示創(chuàng)建一個(gè)ZhangSan的引用,后半部表示創(chuàng)建一個(gè)ZhangSan的對象
賦值號就把ZhangSan這個(gè)對象賦給了ZhangSan的引用
這就是對象的創(chuàng)建
類和對象的關(guān)系
把一系列的對象的共同特征抽象出來成為了一個(gè)類
1.對象的使用方法;
2.多對象的創(chuàng)建方法;
3.匿名對象的創(chuàng)建和使用方法
對象的使用方法
使用對象調(diào)用變量和函數(shù)
1.對象.變量
2.對象.函數(shù)
只有一個(gè)對象和變量或函數(shù)連在一起才是有意義的
生成多個(gè)對象
Dog d1 = new Dog();
Dog d2 = new Dog();
見到幾個(gè)new就會在堆內(nèi)存中生成幾個(gè)對象(偽),在棧內(nèi)存中生成幾個(gè)引用
匿名對象的使用
可以不定義對象的引用名稱,而直接調(diào)用這個(gè)對象的方法。這樣的對象叫做匿名對象,如:
new Dog().jump;
1.函數(shù)的重載
這些函數(shù)在同一個(gè)類中,這些函數(shù)函數(shù)名相同,這些函數(shù)參數(shù)不同
2.構(gòu)造函數(shù)的作用
構(gòu)造函數(shù)函數(shù)名和類名相同,構(gòu)造函數(shù)沒有返回值的定義,構(gòu)造函數(shù)使用new來調(diào)用,沒有構(gòu)造函數(shù)會默認(rèn)有一個(gè)參數(shù)為空的構(gòu)造函數(shù)
面向?qū)ο笕齻€(gè)重要特征
繼承、多態(tài)、封裝