Java 笔记 7:面向对象

面向对象的编程思想:

思想:非常高度概括的思想和行为的准则
编程思想:指引我们编程(开发/写代码)的原则

面向过程的编程思想:

经典代表:C语言
程序的最小单位是函数。一个函数代表一个功能
程序员关注的角度:把大的功能分解为一个一个小的功能。只关注怎么做。
面向过程是把数据与功能分开的。

面向对象的编程思想:
经典代表:Java语言
程序的最小单位是类/对象。
程序关注的角度:把复杂的业务逻辑/功能中先抽取出“类”,然后再考虑这个类能包含什么属性、方法等
面向对象是把数据和功能(行为)合起来。关注“谁”做

面向对象的程序员从执行者的角度转变为指挥者的角度。

例如:
把大象装进冰箱的问题?

面向过程:
(1)把冰箱门打开
(2)把大象装进去
(3)把冰箱门关上

面向对象:
人、冰箱、大象

面向对象的学习围绕几条主线:

1、类与对象
2、面向对象的基本特征:封装、继承、多态
3、相关关键字和API
4、面向对象的编程的原则和设计模式等

类与对象:

类:一类具有相同特性的事物的抽象描述

例如:苍老师,宋老师,柴老师...
相同:
	属性:姓名、年龄、性别....
	行为:吃饭、睡觉、讲授技术...
Teacher类,宋老师是Teacher类的具体的实例,个体,对象

类与对象的关系:
类是众多对象的抽象的描述,类是对象的设计图,创建对象的模板
对象是类的个体,具体的实例

类的提取:
名词提取法,转换为现实世界中的事物的类别==》计算机程序中的类

类的设计:
类的成员的设计
5大成员(5大组成部分):
1、属性:数据特征
2、方法:行为特征,功能特征
3、构造器:创建对象时用
4、代码块:在类初始化和对象初始化时用的
5、内部类:在某个大的事物中,包含了一个独立的小的事物类别,而且一般这个小的事物只为大的事物服务时

类{
成员列表
}

1、类的声明的格式:
【修饰符】 class 类名{
}
例如:
class Person{
}

说明:类名,每一个单词的首字母都大写

回忆:如果有一个类是public的,那么源文件名必须与类名相同

类的第一类成员:属性

(1)属性的声明
【修饰符】 数据类型 属性名;

3、如何用类来创建对象?
语法格式:
类名 对象名 = new 类名();
对象名其实也是变量名/对象的引用

对象名/变量名:从第二个单词开始首字母大写

4、为某个对象的属性赋值
对象名.属性名 = 值;

属性的特点:
1、属性有默认值
原则和数组的元素的默认值一样。
(1)基本数据类型
byte,short,int,long:0
float,double:0.0
boolean:false
char:\u0000
(2)引用数据类型:null
例如:String是引用数据类型

2、每一个对象的属性值是独立的

在这里插入图片描述
在这里插入图片描述

类的成员之二:方法

方法(method)又称为函数(function)。
方法是代表一个独立的可复用的功能。

例如:Math.random(),代表产生[0,1)随机值的功能
Math.sqrt(x),代表求x的平方根的功能

声明方法的好处:
(1)代码的复用
(2)简化程序员的代码量:使用者不管关心方法的内部如何实现的,
只要关注这个方法:功能、是否需要传参数、是否有返回值等问题

1、如何声明一个方法?
【修饰符】 返回值类型 方法名(【形参列表】){
方法体:实现代码的功能
}

【修饰符】:今天先不讨论
返回值类型:
(1)void:代表无返回值,
(2)非void:可以是任意的Java数据类型,包括8种基本数据类型、所有的引用数据类型
方法名:
(1)见名知意:能够体现这个方法的功能
(2)和变量名一样,从第二个单词开始首字母大写
(【形参列表】):
(1)():无参
(2)(形参列表):有参

三、有参无返回值的方法
1、声明格式
【修饰符】 void 方法名(形参列表){
方法体
}

形参列表的格式:
(数据类型 形参名)
(数据类型1 形参名1, 数据类型2 形参名2, …)

2、调用格式
(1)本类同级别
方法名(实参列表);
(2)其他类中
对象名.方法名(实参列表);

3、两个名词:
形参列表:声明时()中
(数据类型1 形参名1, 数据类型2 形参名2, …)
(int n,int m, char x)
实参列表:调用时()中
(3,5,’%’)
(a,b,c)

5、实参与形参
实参是赋值给形参赋值
要求,实参的个数、类型、顺序与形参一一对应

猜你喜欢

转载自blog.csdn.net/qq_40473204/article/details/107485218