1. 程式人生 > 其它 >面向過程 & 面向物件(一)

面向過程 & 面向物件(一)

面向過程 & 面向物件

  • 面向過程的思想

    • 步驟清晰簡單,第一步做什麼,第二步做什麼……

    • 面對過程適合處理一些較為簡單的問題

  • 面向物件的思想

    • 物以類聚,分類的思維模式,思考問題首先會解決問題需要哪些分類,然後對這些分類進行單獨思考。最後,才對某個分類的細節進行面向過程的思索。

    • 面向物件適合處理複雜的問題,適合處理需要多人協作的問題!

  • **對於描述複雜的事物,為了從巨集觀上把握、從整體上合理分析,我們需要使用面向物件的思路來分析整個系統。但是,具體到微觀操作,仍然需要面向過程的思路去處理。

  • 面向物件程式設計(Object-Oriented Programming,OOP)

  • 面向物件程式設計的本質就是:以類的方式組織程式碼,以物件的組織(封裝)資料

  • 抽象

  • 三大特性

    • 封裝

    • 繼承

    • 多型

  • 從認識論角度考慮是現有物件後有類。物件,是具體的事物。類,是抽象的,是對物件的抽象。

  • 從程式碼執行角度考慮是先有類後有物件。類是物件的模板

  • 類是一種抽象的資料型別,它是對某一類事物整體的描述/定義,但是並不能代表某一個具體的事物。

    • 動物、植物、手機、電腦……

    • Person類、Pet類、Car類等,這些類都是用來描述/定義某一類具體的事物應該具備的特點和行為

  • 物件是抽象概念的具體例項

    • 張三就是人的一個具體例項,張三家裡的旺財就是狗的一個具體例項。

    • 能夠體現除特點,展現出功能的是具體的例項,而不是一個抽象的概念。

  • 建立與初始化物件

    • 使用new關鍵字建立物件

    • 使用new關鍵字建立的時候,除了分配記憶體空間之外,還會給建立好的物件進行預設的初始化以及類中構造器的呼叫。

    • 類中的構造器也稱構造方法,是在進行建立物件的 時候必須要呼叫的。並且構造器有以下兩個特點:

      • 必須和類的名字相同

      • 必須沒有返回型別,也不能寫void

    • 構造器必須掌握

package com.oop.demo02;

//java ---> class
public class Person {
//一個類即使什麼都不寫,它也會存在一個方法
//顯示定義的構造器

String name;

//1.使用new關鍵字,本質是在呼叫構造器
//2.用來初始化值
public Person(){}//無參構造

//有參構造:一旦定義了有參構造,無參構造就必須顯式定義
public Person(String name){
this.name = name;
}

//alt + insert 生成構造器
//alt + insert + Constructor + OK 生成有參構造器
//alt + insert + Constructor + Select None 生成無參構造器

}

/*

//new 例項化了一個物件
Person person = new Person("dashu");

System.out.println(person.name);

構造器:
1.和類名相同
2.沒有返回值
作用:
1.new本質在呼叫構造方法
2.初始化物件的值
注意點:
1.定義有參構造之後,如果想使用無參構造,須顯示的定義一個無參構造
*/