面向对象(类与对象)
Java语言是一种面向的程序设计语言,而面向对象思想是一种程序设计思想。我们参照面向对象思想使用java语言去设计,开发计算机程序。
除去面向对象之外还有一个面向过程。
区别:
- 面向过程:当要实现一个功能的时候,面向过程,要处理好每一个节点,直至整个过程结束,然后得到结果。
- 面向对象:当要实现一个功能的时候,直接去调用一个关于这个功能相关的类,把过程交给其他类来处里,自己等着获取结果
- 面向过程强调这功能的步骤,面向对象强调这功能的结果。
举例:
-
面向过程:把衣服脱下来–>找一个盆–>放点洗衣粉–>加点水–>浸泡10分钟–>揉一揉–>清洗衣服–>拧干–>晾起来
-
面向对象:把衣服脱下来–>打开全自动洗衣机–>扔衣服–>按钮–>晾起来
特点:
面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。面向对象的语言中,包含了三大基本特征,即封装、继承和多态。
什么是类:
类是对一种具有类似的属性和行为的事物的集合。eg:学生类,教师类等等。学生有相同的属性:学生证号,姓名等等,有相同的行为:做作业,写卷子等等。
现实中:
- 属性:就是该事物的状态信息。
- 行为:就是该事物能够做什么。
什么是对象:
是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。比如学生类中的张三是一个学生,那么张三就是一个对象,他具有学生证号,姓名等属性,也具有做作业,写卷子等行为。
类与对象的关系:
- 类是对一组事物的统称描述,类似抽象的,它看不见摸不着 eg: 比如手机类是手机的统称,它有一系列的属性比如颜色,配件等等,行为是
- 对象是一组事物的实例,是具体的,是真正存在的可以看得见摸得着 eg: 你买的一个小米9手机是一个实实在在的东西,就属于一个对象
类的定义:
访问权限修饰符 class 类名 {
//成员变量
//成员方法
}
对象的定义:类名 对象名 = new 类名();
类与对象的练习:
public class OverloadDome03 { // 定义一个求和 工具类 /* 定义sum方法两个sum(int,int) 并返回值*/ public int sum(int a,int b) { return a+b; } /* 定义sum方法两个sum(int,int,int) 并返回值*/ public int sum(int a,int b,int c) { return a+b+c; } /* 定义sum方法两个sum(double,double) 并返回值*/ public double sum(double a,double b) { return a+b; } /* 定义sum方法两个sum(int,double) */ public void sum(int a,double b) { System.out.println(a+b); } } public class OverloadDome03Test { /* 求和测试类 */ public static void main(String[] args) { OverloadDome03 ov03 = new OverloadDome03();//实例化OverloadDome03 double sum = ov03.sum(0.0, 1.293); //调用sum(double,double)f方法 并打印 System.out.println(sum); int sum1 = ov03.sum(1,2); //调用sum(int,int)f方法 并打印 System.out.println(sum1); ov03.sum(12,19.22); //调用sum(int,double); int sum2 = ov03.sum(1,2,3); //调用sum(int,int,int)f方法 并打印 System.out.println(sum2); } }