1、面向过程和面向对象的区别
面向过程还是面向对象都是编程语言的思想,任何编程语言都是解决日常业务的,无论是面向对象还是面向过程都需要实现具体的业务。
面向过程:关注点是在实现的过程,就以函数的方式来定义(一个业务划分为一个函数),面向过程核心关注点是在实现具体的业务;
面向对象:象的来源就是类,实现具体的业务的时候先确定完成当前业务的对象是哪个, 而不是具体的业务怎么实现 。
例如,同样是炒菜这件事,面向过程中关注的是第一步洗菜、第二步切菜、第三步炒菜…而面向对象则不关注这些步骤,他只关心做这件事的对象,比如洗菜工来洗菜,厨师来切菜和炒菜。
使用面向对象编程思想开发系统,在现代开发中会将面向对象贯穿整个过程,一般包括:
OOA/OOD/OOP:
① OOA:面向对象分析(Object-Oriented Analysis)
② OOD:面向对象设计(Object-Oriented Design)
③ OOP:面向对象编程(Object-Oriented Programming)
2、面向对象的三大特征
- 封装(Encapsulation )
- 继承(Inheritance )
- 多态(Polymorphism )
任何一门面向对象的编程语言都具备以上三大特征,例如java、python、C#
3、类和对象
1)类和对象的概念
类实际上在现实世界当中是不存在的,是一个抽象的概念,是一个模板。是我们人类大脑进行“思考、总结、抽象”的一个结果。
类的本质上是现实世界当中某些事物具有共同特征,将这些共同特征提取出来形成的概念就是一个”类“。如“学生”就是一个类。
对象时实际存在的个体。如“张三”同学就是一个对象,“李四”同学就是一个对象…
2)类和对象的区别和联系
类是现实世界中具有共同特征的事物进行抽象形成的模板或概念。而对象时实际存在的个体。如,“学生”是一个类(所有的学生都有姓名、学号,都要上课…),而“张三”、“李四”、“王五”就是一个个具体的对象,他们都有姓名、年龄、性别等状态信息(属性),他们还有一个共同的行为就是“写作业”(方法)。
通过类可以创建对象,对象又被称为实例(instance),这个过程也可以称为实例化。
通过以上的描述,我们可以得知:类=属性+方法,而属性描述的是状态,方法描述的是行为。行为动作以方法的形式存在,属性以变量的形式存在。
3)类的定义
-
语法格式:
[修饰符] class 类名{
类体=属性+方法
}
-
示例:
public class Student{ //属性 //学号 int no; //姓名 String name; //性别 boolean sex; //方法 //写作业 public void doHomework(){ System.out.println("学生必须写作业"); } }