二進位制部署k8s叢集
阿新 • • 發佈:2020-12-01
面向過程&面向物件
面向過程思想
步驟清晰簡單,第一步做什麼,第二步做什麼
面向過程適合處理一些較為簡單的問題
面向物件思想
物以類聚,分類的思維模式,思考問題首先會解決問題需要哪些分類,然後對這些分類進行單獨思考.最後才對某個分類下的細節進行面向過程的思索
面向物件適合處理複雜的問題,適合處理需要多人協作的問題
對於描述複雜的事物,為了從巨集觀上把握,從整體上合理分析,我們需要使用面向物件的思路來分析整個系統.但是具體到微觀操作,仍然需要面向過程的思路去處理
什麼是面向物件
面向物件程式設計(Object-Oriented Programming,OOP)
面向物件程式設計的本質:以類的方式組織程式碼,以物件的形式封裝資料
抽象
三大特性
- 封裝
- 繼承
- 多型
從認識論的角度考慮是先有物件後有類。物件是具體的事物,類是抽象的,是對物件的抽象
從程式碼執行角度考慮是先有類後有物件。類是物件的模板
類與物件的關係
類是一種抽象的資料型別,它是對某一類事物整體描述/定義,但是並不能代表某一個具體的事物.
- 動物、植物、手機、電腦……
- Person類、Pet類、Car類等,這些類都是用來描述/定義某一類具體的事物應該具備的特點和行為
物件是抽象概念的具體例項
- 張三就是人的一個具體例項,張三家的旺財就是狗的一個具體例項
- 能夠體現出特點,展現出功能的是具體的例項,而不是一個抽象的概念
我們可以將這些思想轉化為程式碼實現
建立與初始化物件
使用new關鍵字建立物件
使用new關鍵建立的時候,除了分配記憶體空間以外,還會給建立好的物件進行預設的初始化以及對類中構造器的使用
/** * 學生類 */ public class Student { //屬性,欄位 String name; int age; //方法 public void study(){ System.out.println(this.name + "在學習"); } }
/** * 一個專案應該只有一個main方法 */ public class Application { public staticvoid main(String[] args) { //類:抽象的,例項化 //類例項化後會返回一個自己的物件 //student物件就是一個Student類的具體例項 Student s1 = new Student(); Student s2 = new Student(); s1.name = "小明"; System.out.println(s1.name); } }
類的構造器也稱為構造方法,是在進行建立物件的時候必須要呼叫的。並且構造器有兩個特點
- 必須和類的名字相同
- 必須沒有返回值型別,也不能用void
無參構造:一個類即使什麼都不寫,它也會存在一個方法
有參構造:一旦定義了有參構造,無參構造就必須顯示定義
public class Person { String name; //一個類即使什麼都不寫,它也會存在一個方法 //無參構造 //顯示的定義構造器 public Person(){ } //有參構造:一旦定義了有參構造,無參構造就必須顯示定義 public Person(String name){ this.name = name; } }
public class Application { public static void main(String[] args) { //new 例項化了一個物件 Person person = new Person(); Person person1 = new Person("小明"); } }