面向对象和面向过程的区别
面向过程:主要关注的是实现的具体过程,因果关系【集成显卡的开发思路】
优点:业务逻辑比较简单的程序,可以达到快速开发,前期投入成本低
缺点:难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的“耦合度”非常高,只要其中一环出问题,整个系统受到影响,导致最终软件“扩展力”差。另外,没有独立体的概念,所以无法达到组件复用。
面向对象:主要关注的点是对象【独立体】能够完成哪些功能【独立显卡的开发思路】
优点:耦合度低,扩展力强
缺点:前期投入成本较高,需要进行独立体的抽取,大量系统分析与设计
C语言是纯面向过程,C++是半面向对象,JAVA是纯面向对象的
面向对象三大特征
封装
继承
多态
所有面向对象的编程语言都有这三大特征。
采取面向对象的方式开发一个软件,生命周期当中:【整个生命周期贯穿OO面向对象的方式】
面向对象的分析:OOA
面向对象的设计:OOD
面向对象的编程:OOP
类和对象的概念
什么是类?
类是一个模板,是一个概念,是人类大脑思考的抽象结果,类代表的一类事物。
什么是对象?
对象是实际存在的个体,是实际存在的
类-----【实例化】-----对象
对象又被称为实例【instance】
对象-----【抽象化】------类
【重点】
类描述的是对象的共同特征。共同特征比如身高特征
这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征
因为这个特征具体的某个对象上后,值是不同的
一个类主要描述的是什么信息?
一个类主要描述的是:状态+动作
状态-----一个类的属性 【名字、身高、性别】
动作-----一个类的方法 【唱歌、跳舞、学习】
类{
属性;// 描述对象的状态信息
方法;//描述对象的动作信息
}
类的定义
语法结构
[修饰符列表] class 类名 {}
JAVA 中有两种数据类型
基本数据类型
byte short int long boolean float double char
引用数据类型
String.class 【sun提供的】
System.class 【sun提供的】
Student.class 【程序员自定义的】
User.class 【程序员自定义的】