面向對象編程(OOP) 思維導圖
一、類和對象
1.對象
隨處可見的一種事物就是對象,對象是事物存在的實體。人們思考這些對象都是由何種部分組成的,通常會將對象划分為動態部分和靜態部分。靜態部分,顧名思義,就是不能動的部分,這部分被稱為“屬性”,任何對象都會具備其自身屬性。一個人具備的行為行動,就是動態部分。
2.類
類就是同一類事物的統稱,對象是類的實例。如果將現實世界中的一個事物抽象成對象,類就是這類對象的統稱。類是構造對象時所以來的規范,具有相同特性和行為的一類事物就稱為類,類的思想就是這么產生的。更為恰當地描述是:類是世間事物的抽象稱呼,而對象則是這個事物相對應的實體,如果面臨實際問題,通常需要實例化類對象來解決。
類是封裝對象的屬性和行為的載體,反過來說具有相同屬性和行為的一類實體被稱為類。
在Java語言中,類中對象的行為是以方法的形式定義的,對象的屬性是以成員變量的形式定義的,而類包括對象的屬性和方法。
(1)同一類事物的統稱;
(2)封裝一類事物的屬性和行為的載體
(3)對象是類的實例
(4)通過類來生成對象
二.面向對象的特點
1.封裝
封裝是面向對象編程的核心思想,將對象的屬性和行為封裝起來,而將對象的屬性和行為封裝起來的載體就是類,類通常對客戶隱藏其實現細節,這就是封裝。
采用封裝的思想保證了類內部數據結構的完整性,應用該類的用戶不能輕易直接操縱此數據結構,而只能執行類允許公開的數據。這樣避免了外部對內部數據的影響,提高程序的可維護性。
(1)核心思想
(2)封裝對象(Object)的屬性和行為
2.繼承
3.多態
三.類的構造方法
構造方法是一個與類同名的方法,對象的創建就是通過構造方法完成的,每當類實例化一個對象時,類都會自動調用構造方法。
構造方法沒有返回值。
構造方法的名稱要與本類的名稱相同、
package com.hanqi; //鳥類 public class Bird { //屬性 成員變量 //顏色 String color; //重量 double Weight; //行為 方法 //飛void-沒有返回值 void fly() { System.out.println("我能飛"); } //吃 void eat() { System.out.println("我喜歡吃蟲子"); } public static void main(String[] args) { //生成一只鳥的實例 老鷹 Bird eagle=new Bird(); eagle.color="灰色"; eagle.Weight=10; System.out.println("這是一只鳥 顏色是"+eagle.color); eagle.fly(); eagle.eat(); } }