一个走过太多坑的老弟对面向对象知识的总结:世上无难事,有的真不行
/*編程思想
在寫代碼前首先要做的事情是分析問(wèn)題,然后寫出步驟。最后是寫代碼,按照步驟進(jìn)行填寫代碼。
1.問(wèn)題
2.分析
3.步驟
4.代碼
/
//當(dāng)你在開(kāi)發(fā)過(guò)程遇到多次使用同一功能時(shí)要看看前面是否有問(wèn)題及時(shí)修正,以便優(yōu)化代碼。
//為了提高代碼的復(fù)用性,將功能封裝在類里,從整體到細(xì)節(jié)思考。
//面向過(guò)程:不斷的使用函數(shù)。
//面向?qū)ο?將所有的功能進(jìn)行封裝,面對(duì)的是功能的對(duì)象,基于面向過(guò)程。
//開(kāi)發(fā)要先找對(duì)象按功能,利用面向?qū)ο蟆?br /> /
差異(面向?qū)ο蟮暮锰?:
1.面向?qū)ο蟾先藗兞?xí)慣的思考方式。
2.面向過(guò)程體現(xiàn)的是執(zhí)行者,面向?qū)ο篌w現(xiàn)的是使用者,調(diào)用對(duì)象做事情。
3.面向?qū)ο髮?fù)雜問(wèn)題簡(jiǎn)單化。
《Thinking In Java》有:萬(wàn)物皆對(duì)象。
面試的時(shí)候:
首先闡述三個(gè)好處。
然后具體化,舉例:
結(jié)合面試環(huán)境,攝像頭、水杯、電腦也是對(duì)象,它們有各自的功能,我們調(diào)用它們的不同功能來(lái)完成事情。
其實(shí)面試官您本身就是用面向?qū)ο蟮乃枷胨伎紗?wèn)題,面試官您已經(jīng)具備了開(kāi)發(fā)能力,本身就可以開(kāi)發(fā)項(xiàng)目,但由于項(xiàng)目本身較大,一個(gè)人開(kāi)發(fā)周期長(zhǎng),
為了提高效率,需要更多具備專業(yè)開(kāi)發(fā)能力的人來(lái)幫助完成,這些人就是你要的對(duì)象,你只需調(diào)用這些對(duì)象的開(kāi)發(fā)功能就可以
完成項(xiàng)目。
*/
/*
面向?qū)ο笕绾螒?yīng)用到需求里去?
在需求里盡量尋找對(duì)象(從問(wèn)題里抽取對(duì)象)。
一般思考方式:名詞大多數(shù)是對(duì)象。
需求:將大象裝進(jìn)冰箱里。
對(duì)象:大象、冰箱。
步驟:
1.打開(kāi)冰箱
2.將大象裝進(jìn)去
3.關(guān)閉冰箱
冰箱{
打開(kāi)(){
}
大象{
}
/
/
class day1{
public static void main(String[] args) {
int []arr={11,13,45,96};
int maxValuae=getValuale.getMax(arr);
int minValuae=getValuale.getMin(arr);
System.out.println(“最大值:”+maxValuae+"\n最小值:"+minValuae);
}
}
class getValuale{
static int getMax(int []arr){
int maxValuae=arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]>maxValuae){
maxValuae=arr[i];
}
}
return maxValuae;
}
static int getMin(int []arr){
int minValuae=arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]<minValuae){
minValuae=arr[i];
}
}
return minValuae;
}
static void getBinaryValuale(){
}
*/
/*
將面向?qū)ο舐鋵?shí)到代碼上。
描述小汽車:
分析:
事物的屬性:顏色,輪胎個(gè)數(shù)。
事物的行為:開(kāi)動(dòng)。
發(fā)現(xiàn):事物其實(shí)是由屬性和行為組成的,屬性是數(shù)值,就是變量;行為就是方法,就是功能。
Java是通過(guò)類來(lái)描述事物的。
類與對(duì)象的關(guān)系:
類:對(duì)事物的描述,需要體現(xiàn)事物的屬性和行為。
對(duì)象:事物的實(shí)體,通過(guò)調(diào)用該對(duì)象的屬性和功能。
成員變量和局部變量的區(qū)別:
區(qū)別一:定義的位置不同。
局部變量定義成方法和語(yǔ)句中。
成員變量定義在類中。
區(qū)別二:在內(nèi)存中的位置不同。
成員變量存儲(chǔ)在堆內(nèi)存類中。
局部變量存儲(chǔ)在棧內(nèi)存方法中。
區(qū)別三:生命周期不同。
局部變量隨著方法的出現(xiàn)而出現(xiàn),隨著方法的消失而消失。
成員變量隨著對(duì)象的出現(xiàn)而出現(xiàn),隨著對(duì)象的消失而消失。
區(qū)別四:初始化不同。
成員變量默認(rèn)初始化值。
局部變量初始化才能用。
*/
class Car{
int num;
String color;
void run(){
System.out.println(color+":"+num);
}
}
class day1{
public static void main(String[] args) {
Car car=new Car();
car.color=“Blue”;
car.num=4;
car.run();
}
}
總結(jié)
以上是生活随笔為你收集整理的一个走过太多坑的老弟对面向对象知识的总结:世上无难事,有的真不行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论文学习6-(M2DNE)Tempora
- 下一篇: 论文学习4-An Attentive N