㈠ java面試提問:什麼是OOP
OOP全稱Object Oriented Programming,是指面向對象程序設計,是一種計算機編程架構。OOP 的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或對象組合而成。
面向對象編程技術的關鍵性觀念是它將數據及對數據的操作行為放在一起,作為一個相互依存、不可分割的整體——對象。對於相同類型的對象進行分類、抽象後,得出共同的特徵而形成了類。面向對象編程就是定義這些類。
OOP的優缺點:
1、OOP 的優點:使人們的編程與實際的世界更加接近,所有的對象被賦予屬性和方法,結果編程就更加富有人性化。
2、OOP 的也有缺點,就 C++ 而言,由於面向更高的邏輯抽象層,使得 C++ 在實現的時候,不得不做出性能上面的犧牲,有時候甚至是致命的 。
㈡ OOP編程思想主要應用於哪些領域
類與對象的基本認識
類 從生活中去理解類是生活中實體的共同點的集合,是以人的主觀意識存在的。例如:飛機、大巴、的士它們的共同點都是載客運輸它們都屬於一個類。
對象 對象是任意一個實體, 類的具體客觀存在。例如:喝水的杯子,正拿在手裡喝水杯子就是對象。正在打字的電腦,電腦就是對象。
opp面向對象思想認識
opp面向對象思想區別於面向過程思想,面向可以理解成關注 。所以面向對象思想可以理解成為關注對象思想,面向過程思想可以理解成關注過程思想。
生活中所有的事必然都是由對象與過程組成,對象是執行者,過程是執行流程。
面向對象:不確定過程所以結果也不確定,面向過程:流程很死板結果很確定。
例如:叫阿明幫帶瓶飲料 我們關注的是小明,小明是執行者因為小明買水過程的不確定性他可能買回來的是怡寶也有可能是娃哈哈、、、等等
如果關注的是小明買水的過程那麼他怎麼去買飲料去哪裡買飲料買的飲料這些過程都規劃好小明買回來的水只有一種結果
生活中典型的對象+過程的例子:路虎在公路賓士
public class automobilc{ (創造一個汽車類)
public String luhu; (共同特點的屬性 汽車品牌名)
public void travel(){ (共同點的行為)
System.out.println(luhu+"在公路賓士);
}
}
public class QQ {
public static void main(String[] args){
automobilc bmw=new autombilc(); (創造一個對象)
bmw.luhu="路虎"; (給對象添加屬性)
bmw.travel(); (對象調用過程)
}
}
對Java語法定義的個人認識
首先舉個例子:小明幫我去樓下買飯上來,
小明是一個對象 ,對象是類的具體客觀存在,所以我們先得寫出一個類,從類中找出小明;然後讓小明去樓下買飯。如果小明身上沒有錢,那麼作為驅動者就需要為小明提供錢,然後小明把錢交換成飯然後返回給驅動者。
public class pep{
public String(盒飯) mmm(money m){
System.out.println(name+"幫我去樓下買飯上來");
ruturn 盒飯
}
}
public class tto{
public static void main(String[] args){
pep xm = new pep();
xm.name("小明");
xm.mmm();
}
}
如果 ,小明請客不需要驅動者提供金錢。那麼如下圖所示:
public class pep{
public String name;
public String(盒飯)mmm(){
System.out.print(name+"幫我去樓下買飯上來)
ruturn 盒飯
}
}
public class two {
public static void main(String[] args){
pep xm = new pep();
xm.name("小明");
xm.mmm();
}
}