面向对象初步认识

1、面向过程和面向对象有什么区别?
从语言方面出发:
对于c语言来说,是完全面向过程的
对于c++语言来说,时一半面向过程的,一半面向对象的。(c++是半面向对象的)
对于java语言来说,是完全面向对象的。

1.1、什么是面向过程的开发方式?
面向过程的开发方式主要的特点是注重步骤。
每一步做什么
。。。。
另外面向过程也注重实现功能的因果关系。
因为A所以B
因为B所以C
。。。。。

面向过程中没有对象的概念,只是实现这个功能的步骤以及因果关系

	面向过程的缺点:
		面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B步骤,
		A和B联合起来形成一个子模块,子模块和子模块之间又因为因果关系结合在
		一起,假设其中任何一个因果关系出现问题(错误),此时整个系统的运转
		都会出现问题。(代码和代码之间的耦合度太高,扩展力太差。)

	面向对象的优点:(快速开发)
		对于小型项目,采用面向过程的方式进行开发,效率较高。
		不需要前期进行对象的提取,模型的建立,采用面向过程
		方式可以直接开始干活。一上来直接写代码,编写因果关系。

1.2、 什么是面向对象的开发方式?
采用面向对象的方式进行开发,更符合人类的思维方式。(面向对象成为主流的原因)
人类就是以“对象”的方式去认识世界的。
所以面向对象更容易让我们接受。

面向对象就是将现实世界分割成不同的单元,然后每一个单元
都实现成对象,然后驱动一下,让各个对象之间协作起来形成
一个系统。

采用面向对象的方式进行开发:
耦合度低,扩展力强。

需要三四年的时间才能彻底领悟面向对象

2、OOA OOD OOP
① OOA:面向对象分析(Object-Oriented Analysis)
② OOD:面向对象设计(Object-Oriented Design)
③ OOP:面向对象编程(Object-Oriented Programming)

实现一个软件的过程:
分析—>设计—>编程

PM 项目经理(整个项目的主管人)project manager

3、面向对象的三大特征:
① 封装(Encapsulation)
② 继承(Inheritance)
③ 多态(Polymorphism)
任何一个面向对象的编程语言都包括这三个特征

4、类和对象的概念
4.1、什么是类?
类实际上在现实世界当中是不存在的,是一个抽象的概念。
是一个模板,是我们人类大脑进行思考、总结、抽象的一个
结果。

类本质上是现实世界当中某些事物具有的共同特征,将这些共同
特征提取出来形成的概念就是一个类,类就是一个模板。

4.2、什么是对象?(实例)
对象是实际存在的个体。

在Java语言中要想得到对象,必须先定义类,对象是通过类
这个模板创造出来的。
	类就是一个模板:类中描述的是所有对象的“共同特征信息”
	对象就是通过类创建出的个体。

术语:
	类
	对象
	实例
	实例化
	抽象

类 = 属性 + 方法
属性:状态特征
方法:动作特征

5、思考:程序员扮演什么样的角色

转换桥梁

为什么要做软件开发?
解决现实生活当中的问题

软件开发既然是为了解决现实世界当中的问题,那么首先
java软件必须能够模拟现实世界。

6、类的定义
6.1、怎么定义一个类,语法格式是什么?
[修饰符列表] class 类名 {
//类体 = 属性 + 方法
//属性在代码以变量的形式存在
//方法描述动作/行为
}

注意:修饰符列表可以省略
6.2、为什么属性是以变量的形式存在的?
因为属性对应的是数据,数据在程序中只能放在变量中。
结论:属性其实就是变量。

变量的分类:
变量根据出现的位置进行划分:
方法体当中声明的变量:局部变量。
方法体外声明的变量:成员变量。
6.3、请观察学生对象1和学生对象2的共同特征,然后再利用java语言
将该学生类表达出来。(先只表达属性,不表达方法)

7、关于编译过程
先编译Student.java,然后再编译StudentTest.java

也可以直接编译StudentTest.java,这是编译器会自动编译Student.java

8、创建对象

类名 变量名 = new 类名();

9、什么是实例变量?
对象又被称为实例。
实例变量实际上就是:对象级别的变量。
不创建对象就能访问实例变量吗?
不能

10、对象和引用的区别
对象是通过new出来的,再堆内存中存储。
引用是:但凡是变量,并且该变量中保存了内存地址指向了堆内存当中的对象的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值