Java面向对象编程和面向过程编程的区别
Java面向对象编程和面向过程编程的区别
== “面向过程”(Procedure Oriented)是一种以过程为中心的编程思想,简称OP==。==“面向过程”也可称之为“面向记录”编程思想,==就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过程的编程方式关注点不在“事物”上,而是做这件事分几步,先做什么,后做什么。
==“面向对象”(Object Oriented)是一种以对象为中心的编程思想,简称OO。==随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,==面向对象能有效提高编程的效率,通过封装技术,可以像搭积木的一样快速开发出一个全新的系统。==面向对象将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
使用面向对象编程思想开发系统,在现代开发中会将面向对象贯穿整个过程,一般包括:OOA/OOD/OOP:
(1)OOA:面向对象分析(Object-Oriented Analysis)
(2)OOD:面向对象设计(Object-Oriented Design)
(3) OOP:面向对象编程(Object-Oriented Programming)
Java面向对象特征
Java面向对象具有三大特征:
● 封装(Encapsulation)
● 继承(Inheritance)
● 多态(Polymorphism)
任何一门面向对象的编程语言都具备以上三大特征,例如:python、C#、java等。
Java类与对象的定义
类是现实世界当中具有共同特征的事物进行抽象形成的模板或概念。而对象是实际存在的个体。
通过类可以创建对象,对象又被称为实例(instance),这个过程也可以称为实例化。对象1、2、3具有共同特征,进行抽象形成了类,所以从对象到类称为抽象。如下图所示:
类 = 属性 + 方法,而属性描述的是状态,方法描述的是行为动作。行为动作以方法的形式存在。
那属性以什么形式存在呢?
对象的属性以变量形式存在,并且这里所说的变量是我们之前提过的“成员变量当中的实例变量”。
为什么是实例变量呢?
实例变量就是对象级别的变量,这样的变量要求必须先存在对象,通过对象才能访问。
Java类中的定义
[修饰符] class 类名 {
类体 = 属性 + 方法
}
用代码将“学生类”进行实现(只实现属性),代码如下图所示:
public class Student {
//学号
int no;
//姓名
String name;
//年龄
int age;
//性别
boolean sex;
}
以上程序当中no、name、age、sex都是属性,它们都是成员变量中的实例变量,所谓实例变量就是对象级别的变量,这些属性要想访问,必须先创建对象才能访问,不能直接通过类去访问,因为每一个学生的学号都是不一样的。