面向过程和面向对象的区别:
- 面向过程:主要关注点是-实现的具体过程,因果关系【集成显卡的开发思路】
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低。
缺点:采用面向过程的方式很难解决非常复杂的业务逻辑。另外面向过程的方式导致软件元素之间的耦合度非常高,只要其中一个环节出问题,整个系统收到影响。导致最终的软件扩展力差。由于没有独立体的概念,所以无法达到组件复用。 - 面向对象:主要关注点是-主要关注对象【独立体】能完成哪些功能。【独立显卡的开发思路】
优点:耦合度低,扩展力强。更容易解决现实世界当中更复杂的业务逻辑。组件服用性强。
缺点:前期投入成本高,需要进行独立体的抽取,大量的系统分析与设计。 - C语言就是纯面向过程的、C++是半面向过程、Java是纯面向对象
- 现在出现的一些新的编程语言多数是面向对象的。人在认识现实世界的时候以面向对象的方式。面向对象更符合人的思维方式
面向对象的三大特征
- 封装
- 继承
- 多态
所有面向对象的编程语言都有三大特征。
采用面向对象的方式开发一个软件,生命周期当中:【整个生命周期中贯穿使用OO面向对象方式】
- 面向对象的分析:OOA
- 面向对象的设计:OOD
- 面向对象的编程:OOP
类和对象的概念
-
什么是类?
类在现实世界当中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象的结果。
类代表了一类事物。
在现实世界当中,对象A和对象B之间具有共同特征,进行抽象总结的一个模板,这个模板被称为类。 -
什么是对象?
对象是实际存在的个体。现实世界当中实际存在。 -
描述一下整个软件开发的过程:
1、程序员先观察现实世界,从现实世界当中寻找对象
2、寻找了N多个对象之后,发现所有的对象都有共同特征
3、程序员在大脑中形成了一个模板(类)
4、Java程序员可以通过java代码来表述一个类(模板)
5、Java程序中有了类的定义
6、然后通过类就可以创建对象
7、有了对象之后,可以让对象之间协作起来形成一个系统 -
补充概念
类到对象的过程被称为实例化 类—>【实例化】—>对象
对象又被称为实例/instance
对象到类的过程被称为抽象 对象–【抽象】–>类
重点:类描述的是对象的共同特征。例如:身高,体重。在访问身高特征之前,必须先创建对象,通过对象去访问身高特征。类主要描述的是 状态+动作。
状态:名字,身高,性别,年龄;状态对应类的属性
动作:吃,唱歌,跳舞,学习;动作对于类的方法
类的定义【从这里开始写代码】
语法结构:
[修饰符列表] class 类名 {
属性;
方法;
}
学生类,描述所有学生对象的共同特征:
学生对象有哪些状态信息:
- 学号【int】【学号是一个属性,学号是一个数据,是数据就应该有数据类型】
- 名字【String】
- 性别【boolean】
- 年龄【int】
- 住址【String】
。。。
学生对象有哪些动作信息:
- 吃饭
- 睡觉
- 学习
- 娱乐
- 唱歌
- 跳舞
重点:属性通常是采用一个变量的方式来完成定义的。
public class Student{
int no; //学号
int age;//年龄
boolean sex;//性别
String name;//姓名
String Address;//地址
}