主仆调教SM束缚绳索捆绑,成品人和精品人的区别三叶草,双性受被各种性器调教学生小说,精品一区二区三区水蜜桃

Java中的面向對象編程概念及示例

在本指南中,您將學習 Java 中的面向對象編程 (OOP) 概念。面向對象編程系統 (OOP) 是基于“對象”的編程概念。面向對象編程的主要目的是提高程序的可讀性、靈活性和可維護性。

面向對象編程將數據及其行為結合在一起,形成一個稱為對象的單一實體。這使得編程更易于理解。我們將詳細介紹 OOP 的所有特性,如繼承、多態、抽象、封裝,以確保您在理解 Java 中的 OOP 時不會遇到困難。

支持面向對象編程的流行編程語言有:Java、C++、Python、C#、Perl、JavaScript、Ruby、Smalltalk 等。

什么是 Java 中的 OOP 概念

OOP 概念包括以下面向對象編程的概念:

  • 對象
  • 抽象
  • 封裝
  • 繼承
  • 多態

1. 對象

對象可以表示具有狀態和行為的實體。例如:一輛車是一個對象,它具有狀態,如顏色、型號、價格,和行為,如速度、啟動、換擋、停車等。

讓我們來理解狀態和行為之間的區別。對象的狀態是一個數據項,可以用值來表示,例如車的價格、顏色,可以將它們視為編程中的變量。行為類似于類中的方法,它是一組可以共同執行任務的動作。例如,換擋是一個行為,因為它涉及多個子任務,如速度控制、離合器、換擋手柄的移動。

讓我們再看幾個對象的例子:

狀態和行為的示例

示例 1: 
類:房屋 
狀態:地址、顏色、面積 
行為:開門、關門

我們來看一下如何在 Java 程序中編寫這些狀態和行為。狀態可以用實例變量表示,行為可以用類的方法表示。

class House {
    String address;
    String color;
    double area;
    void openDoor() {
        // 編寫代碼
    }
    void closeDoor() {
        // 編寫代碼
    }
}

示例 2: 
類:汽車 
狀態:顏色、品牌、重量、型號 
行為:剎車、加速、減速、換擋。

注意:正如我們在上述示例中所見,對象的狀態和行為可以通過類中的變量和方法來表示。

2. 類

類可以被看作是一個可以用來創建多個對象的藍圖。例如,我們有一個類 Website,它有兩個數據成員。這只是一個藍圖,它不代表任何網站,但使用它我們可以創建代表網站的 Website 對象。在創建對象時,我們使用構造函數為對象提供了獨立的屬性。

public class Website {
    // 字段 (或實例變量)
    String webName;
    int webAge;
    // 構造函數
    Website(String name, int age) {
        this.webName = name;
        this.webAge = age;
    }
    public static void main(String args[]) {
        // 創建對象
        Website obj1 = new Website("beginnersbook", 11);
        Website obj2 = new Website("google", 28);
        // 通過引用訪問對象數據
        System.out.println(obj1.webName + " " + obj1.webAge);
        System.out.println(obj2.webName + " " + obj2.webAge);
    }
}

輸出:

beginnersbook 11
google 28

3. 抽象

抽象是一個過程,您只展示“相關”數據,并向用戶“隱藏”不必要的對象細節。例如,當您登錄到您的銀行賬戶時,您輸入您的用戶 ID 和密碼并點擊登錄按鈕,點擊登錄后會發生什么,輸入數據如何發送到服務器,如何驗證,所有這些細節都被抽象化了。點擊此處了解更多:Java 中的抽象

抽象類示例:

// 抽象類
abstract class Animal {
    // 抽象方法
    public abstract void animalSound();
}
public class Dog extends Animal {
    public void animalSound() {
        System.out.println("Woof");
    }
    public static void main(String args[]) {
        Animal obj = new Dog();
        obj.animalSound();
    }
}

輸出:

Woof

4. 封裝

封裝簡單來說就是將對象的狀態(字段)和行為(方法)綁定在一起。如果您正在創建類,那么您就在進行封裝。

示例

  1. 將實例變量設為私有,以防止外部直接訪問這些變量。您只能通過類的方法設置和獲取這些變量的值。
  2. 在類中使用 getter 和 setter 方法來設置和獲取字段的值。
class EmployeeCount {
    private int numOfEmployees = 0;
    public void setNoOfEmployees(int count) {
        numOfEmployees = count;
    }
    public double getNoOfEmployees() {
        return numOfEmployees;
    }
}
public class EncapsulationExample {
    public static void main(String args[]) {
        EmployeeCount obj = new EmployeeCount();
        obj.setNoOfEmployees(5613);
        System.out.println("No Of Employees: " + (int) obj.getNoOfEmployees());
    }
}

輸出:

No Of Employees: 5613

類 EncapsulationExample 使用了 EmployeeCount 類的對象,不能直接獲取員工數量。它必須通過同一個類的 setter 和 getter 方法來設置和獲取值。

封裝在 Java 編程中有什么好處?

如果您想在某個時刻更改 EmployeeCount 類的實現細節,您可以自由進行更改,而不影響使用它的類。

5. 繼承

一個類通過繼承獲取另一個類的屬性和功能。繼承提供了代碼重用的概念,每個子類只定義它獨有的特性,其余特性可以從父類繼承。

繼承是基于現有類定義新類的過程,通過擴展其公共數據成員和方法,繼承允許我們重用代碼,提高 Java 應用程序的重用性。

父類稱為基類或超類。擴展基類的子類稱為派生類或子類。

注意:繼承的最大優勢是基類中的代碼無需在子類中重寫。基類的變量和方法也可以在子類中使用。

Java 中繼承的語法

要繼承一個類,我們使用 extends 關鍵字。這里類 A 是子類,類 B 是父類。

class A extends B {
}

一般化與專門化:為了在 OOP 中實現繼承的概念,首先需要識別不同類之間的相似性,以提出基類。

識別不同類之間的相似性稱為一般化。一般化是從兩個或多個類中提取共享特性,并將其組合成一個通用的超類。共享特性可以是屬性或方法。

與一般化相反,專門化指的是從現有類創建新子類。如果某些屬性或方法只適用于類的某些對象,則可以創建一個子類。

繼承示例

class Teacher {
    String designation = "Teacher";
    String college = "Beginnersbook";
    void does() {
        System.out.println("Teaching");
    }
}
public class MathTeacher extends Teacher {
    String mainSubject = "Maths";
    public static void main(String args[]) {
        MathTeacher obj = new MathTeacher();
        System.out.println(obj.college);
        System.out.println(obj.designation);
        System.out.println(obj.mainSubject);
        obj.does();
    }
}

輸出:

Beginnersbook
Teacher
Maths
Teaching

6. 多態

多態的字面意思是多種形態。它是指一個對象具有多種形態。例如,當父類引用指向子類對象時,多態發生了。

我們來看一個多態的示例:

class Animal {
    public void animalSound() {
        System.out.println("Default Sound");
    }
}
public class Dog extends Animal {
    public void animalSound() {
        System.out.println("Woof");
    }
    public static void main(String args[]) {
        Animal obj = new Dog();
        obj.animalSound();
    }
}

輸出:

Woof

上面的示例說明了多態。盡管 obj 是 Animal 類型,但由于它引用了 Dog 對象,所以會調用 Dog 類的 animalSound 方法。

小結

Java 中的 OOP 概念(繼承、封裝、多態、抽象、對象和類)通過分離對象和它們的行為使編程更加結構化和易于管理。通過本指南,您現在應該對 Java 中的 OOP 特性有了深刻的理解。

 

若你想提升Java技能,可關注我們的Java培訓課程。

  1. 主站蜘蛛池模板: 汝南县| 庆阳市| 上饶县| 曲靖市| 安福县| 紫金县| 岗巴县| 尼勒克县| 武胜县| 南乐县| 珲春市| 泰宁县| 丹东市| 象州县| 车致| 当阳市| 阿尔山市| 巩留县| 邛崃市| 门源| 五台县| 宜春市| 招远市| 贵港市| 邓州市| 孝昌县| 彭泽县| 新沂市| 中超| 文昌市| 广德县| 丰台区| 公安县| 塔河县| 门头沟区| 佛冈县| 大城县| 民县| 禄丰县| 苗栗市| 九台市|