类和对象
1. 软件开发思想的演变
1.1 面向过程的编程思想
将代码功能化、函数化、方法化、模块化。
将原来重复使用的内容,或者说是原来直接编写的指令改为一个个小功能,这些小功能要求可以独立完成某个任务,还能实现复用。
例如:Scanner 中的 nextInt() 方法,就可以独立完成控制台输入整数的功能,并且可以重复使用。
1.2 面向对象编程思想
面向对象是基于面向过程演化来的。
对象。
将具有相似能力或者具有关联性功能抽取到一个类中,然后下次想使用该功能时,先找到该类的对象,再使用即可。
例如: 我们需要实现键盘录入,首先想到Scanner,这个类中提供了与键盘录入有关的所有功能。
1.3 如何理解面向过程和面向对象?
卖煎饼。
做好准备---->出摊儿---->来客—>做好—>卖出去—>收钱—>回家—> 第二天重复--------->…将卖煎饼转换为面向过程的思路
达到一定规模,雇佣相应的人,做相应的事---->将卖煎饼转换为面向对象思路。找专业的人来干专业的事。
找做对应的事情的人做他所做的事
前提,项目规模必须达到一定的程度,否则面向过程可能比面向对象更实在。
2. 生活中的类和对象
无论是面向过程还是面向对象,它们都是来自于生活中的技巧和思路。
类和对象, 是面向对象中非常重要的两个概念。
“万物皆对象”:你可以将生活中所有的事物、个体都看成对象。
人类的认知规律:首先认识一个个体,把他看成一个对象。然后再发现多个具有相似特征的个体之后,把它们抽取下相似特征归为一个类别。
3. 程序中的类和对象
3.1 类概念
Java 语言也是符合面向对象编程思想。而且在在Java中,类是基本的组成单元,意味着想要开发一个Java 程序就是要编写一个到多个的类。
// 类声明
访问权限修饰符 class 类名 {
// 类体
// 属性/成员变量/实例变量/Field
[访问权限修饰符] 数据类型 属性名;
// …
// 行为/成员方法/实例方法/Method
[访问权限修饰符] [其他修饰符] 返回类型值 方法名(形式参数列表) {
// 方法体
}
// ...
}
3.2 类图


设计狗的类图

3.3 对象概念
对象是类的具体实例,也是在使用时的主体。(面向对象)
// 对象名的规范和变量名一致
类名 对象名 = new 类名(参数值)
// 属性赋值
// 描述对象属性
对象名.属性名 = 属性值;
// 调用方法
// 描述对象行为
对象名.方法名(参数值);