001 Java面向对象之初步了解

版权声明:转载请注明来源,谢谢! https://blog.csdn.net/weixin_30788947/article/details/82287700

 

一、首先,我们来了解什么是面向过程编程?

 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

 

 

猜你喜欢

转载自blog.csdn.net/weixin_30788947/article/details/82287700
001
今日推荐