1 什麼是面向對象
百度上解釋面向對象是相對于面向過程來講的,面向對象方法,把相關的資料和方法組織為一個整體來看待,從更高的層次來進行系統模組化,更貼近事物的自然運作模式。
面向過程就是我們需要實作一個功能的時候,我們需要實作功能的每一個步驟都需要自己來寫,相對的面向對象則是,在java裡我們需要實作一個功能,我們直接從jdk調用現成的類,比如在執行數組相關操作時,我們直接調用arrays裡的相關方法就是面向對象,而我們自己寫代碼來實作就是面向過程。
用現實生活中的例子來說明一下,比如我們下班回家吃完飯,正常隻有一個人的時候就是:下班回家->買菜->煮飯->炒菜->吃->收拾清理。這就一步一步強調了下班回家後要吃上飯的過程,這就是面向過程。有女朋友的人下班回家後想吃飯的步驟則是:下班回家->告訴女朋友自己想吃飯->吃。這就是面向對象,這裡就主要強調了一個會做飯洗碗的對象,即我們從執行者變成了指揮者,幫我們做事情的就叫對象。
2 類的定義以及與對象的關系
我們每用java寫一個程式,都會定義一個類,java作為一門面向對象程式設計語言,那類與對象的關系會是什麼呢。我們先清楚什麼是類和對象,類是一組相關屬性和行為的集合,這個集合裡可能就會存在某一事物的屬性以及這一事物可以幹什麼事情,對象就是這個事物的具體表現,即類是抽象的,對象是具體的,類是對象的模闆,對象是類的實體。
我們定義類可以用來模拟一些現實事物,比如我們可以用一個student類來模拟一個學生,在這個類裡就會包含學生的屬性以及學生可以幹什麼事情,這裡的屬性就是成員變量,能幹什麼事情就是成員方法,如下
public class student {
/*
屬性(成員變量):年齡,性名
會幹什麼事情(成員方法):上課,寫作業
*/
string name;//姓名
int age;//年齡
//寫作業
public void dowork() {
system.out.println("做作業");
}
//上課
public void study(){
system.out.println("上課!");
}
其中隻需要注意成員方法不需要加關鍵字
3 對象的建立即使用
上面我們成功地定義了一個學生類,一般來說,一個類不能直接使用,我們需要用這個類建立一個對象來進行使用,一般會有以下三個步驟:
1.導包:就是指出需要使用的類在哪一個位置,格式一般為import 包名稱.類名稱,對于和目前類屬于同一個包的時候,導包語句可以不寫。
2.建立:按照格式建立對象,格式一般為 類名稱對象名 = new 類名稱(),用上面的student來建立就是student stu = new student(),這裡的stu就是我們新建立的一個對象名。
3.使用。根據對象名來使用成員變量和成員方法,想用誰,就對象名加一個點,再加對應的成員名和方法名。
下面我們就是用上面定義好的類來建立的一個方法,其中我的兩個類在一個包下,我就省略了導包這一步。
public class myobject {
public static void main(string[] args) {
student stu = new student();
system.out.println(stu.age);//0
system.out.println(stu.name);//null
stu.dowork();//做作業
stu.study();//上課!
stu.name = "小明";
stu.age = 10;
system.out.println(stu.age);//10
system.out.println(stu.name);//小明
以上就是筆者想要分享的面向對象學習記錄,歡迎大家加入算法與程式設計之美一起讨論