1. 类和对象
1.1 面向过程和面向对象
面向过程和面向对象都是对软件分析、设计和开发的一种思想。
- 机器语言
- 汇编语言
- 高级语言
- 面向过程:C、Fortran。。。
- 面向对象:C++、Java、C#
先有面向过程的思想,随着软件规模扩大,问题复杂性的提高,出现了面向对象的思想。软件的分析、设计、开发就演化成了面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)
示例1:开车和造车
① 面向过程思想:首先要思考”怎么按步骤实现,将步骤对应方法,一步一步,最终实现(重点关注如何执行)
点火,发动 ==》 挂挡 ==》 踩油门 ==》 gogogo
② 面向对象的思想:如果要造一辆车呢向过程的思想显然就不适合了,我们需要使用面向对象的思想进行思考,首先要思考的是”怎么设计这个事物,例如,”车怎么设计
细致解析:
-
类的基本组成:成员变量(属性field)和成员方法(method)
-
成员变量:[修饰符] 数据类型 属性名 = [默认值];
变量都具备默认值(整型:0, 浮点型:0.0, 字符型:‘u0000’,引用类型:null,布尔型:false)
-
成员方法: [修饰符] 方法返回值类型 方法名 ( 形参列表 ) { // TODO }
方法具有封装、重用代码
-
-
对象的操作:创建对象、操作属性、调用方法
-
创建对象:类名 引用名 = new 类名(); // 构造方法
-
操作属性:
p1.name = “张三”; // 赋值
String name = p1.name; // 取值
-
调用方法:对象名.方法名(实参列表) p1.work(“学校”);
-
具体的代码示例:模拟人的行为,吃饭工作和休息
-
面向对象分析 OOA
从张三、李四、王五中提取出共同内容,抽象成一个“人” 类 Person,包含静态的属性和动态的行为
- 静态的属性:姓名、年龄、性别、住址
- 动态的行为:eat、rest、work
-
面向对象设计 OOD
- 类:Person
- 对象:zhangsan、lisi 然后让对象完成功能(吃饭、工作、休息)
-
面向对象编程 OOP
对象内存分配图:
4. 方法调用
方法调用时,参数的传递分为两种:基本数据类型的调用,引用数据类型的调用
4.1 基本数据类型的方法调用 – 值调用

4.2 引用数据类型的方法调用 – 地址传递
地址传递本质上也是值传递
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!