001 Java面向對象之初步瞭解

 

一、首先,我們來了解什麼是面向過程編程?

 1.閱讀以下代碼

代碼:

package day01;

/**
 * Author: Cai Rong fei
 * Date: 2018-09-01 09:15:27 PM
 * Description:面向過程編程演示
 */
public class OPPTest {
	/** 打印僱員信息 */
	public static void printEmpInfo(String name, int age, char gender, double salary) {
		System.out.println("--------------------");
		System.out.println("姓名: " + name);
		System.out.println("年齡:" + age);
		System.out.println("性別:" + gender);
		System.out.println("薪水:" + salary);
	}

	public static void main(String[] args) {
		// 僱員1
		String emp1Name = "張三";
		int emp1Age = 22;
		char emp1Gender = '男';
		double emp1Salary = 8000.00;

		// 打印員工信息
		printEmpInfo(emp1Name, emp1Age, emp1Gender, emp1Salary);

		// 修改工資
		emp1Salary *= 115.0 / 100.0;

		// 調用如上printEmpInfo方法打印僱員信息
		printEmpInfo(emp1Name, emp1Age, emp1Gender, emp1Salary);
	}

}

運行:

--------------------
姓名: 張三
年齡:22
性別:男
薪水:8000.0
--------------------
姓名: 張三
年齡:22
性別:男
薪水:9200.0

2.總結

     如上代碼的實現方式即爲面向過程的結構化程序設計, 何爲面向過程?面向過程是一種以過程爲核心的編程思想,即分析出解決問題所需要的步驟,然後使用方法將這些步驟一步一步的實現,使用的時候,在main方法中一個一個依次調用就可以了。

  分析如上代碼,看看結構化程序的弊端所在,首先,如上代碼缺乏對數據的封裝,變量emp1Name,emp1Age,emp1Gender,emp1Salary爲4個完全獨立的變量, 並不是一個整體。其次,數據和方法(對數據的操作)的分離,在打印僱員信息方法中,傳遞了4個參數,而這4個參數與在main方法中所定義的4個變量並無直接關係。這就是面向過程程序設計的弊端,那如何解決?使用面向對象的程序設計。

 

二、什麼是面向對象編程?

    面向對象編程是把有相同行爲與屬性的執行過程抽象化,具體就是把面象過程編程中涉及的屬性(變量),行爲(方法)封裝成類,類的封裝並沒有具體的調用,而是在需要的時候爲這個類創建對象並用 對象.方法名/對象.屬性 去調用

代碼:

package day01;
/**
 * Author: Cai Rong fei
 * Date: 2018-09-01 09:34:10 PM
 * Description:面向對象編程演示
 */

// 封裝一個簡單的類
class Emp {

	// 聲明變量
	String name;
	int age;
	char gender;
	double salary;

	// 實現一個顯示僱員信息的方法
	public void printEmpInfo() {
		System.out.println("姓名:" + name + " 年齡:" + age + " 性別:" + gender + " 工資:" + salary);
	}
}

public class OOPTest {
	public static void main(String[] args) {

		// 創建名爲emp1的對象
		Emp emp1 = new Emp();

		// 給變量賦值
		emp1.name = "張三";
		emp1.age = 20;
		emp1.gender = '男';
		emp1.salary = 8000.00;

		// 調用以上類中封裝的printEmpInfo方法
		emp1.printEmpInfo();
	}

}

運行:

姓名:張三 年齡:20 性別:男 工資:8000.0

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章