大白话系列之——Java的面向对象思想

1、举例理解面向对象

说到面向对象的思想,有一句话不得不说:万物皆对象,万物皆可归类

什么意思呢?

就是说在面向对象的思想里它认为只要是存在的事物,它都是一个实例对象,都能找到一种或多种属于它的归类。

比如说有一个学生张三,你可以把他归类于人类,也可以把它归类于学生类等等;

再比如说你们家的猫,你可以把它归类于动物类,也可以把它归类于猫科类。

所以,类具体的怎么去定义,是看你从哪个角度去思考它了。总之一个东西只要它存在,你就肯定能给它归个类,就算是遇到非常非常非常极端的情况,比如你家里有某一个东西,这种东西在世界上只有它一个,那也能给他归个某某某类,只不过这种类里只有它一个对象而已。

所以在面向对象的思想里,它认为所有东西都是对象,这些东西它都至少都属于某一个类,这就是万物皆对象,万物皆可归类。

那有了面向过程以后,为什么还要出现面向对象呢?这种思想有什么好处?

2、面向对象和面向过程对比

(1)面向对象是相对于面向过程而言的

(2)面向对象和面向过程都是一种思想

(3)面向过程强调的是功能行为

(4)面向对象是将功能行为封装进对象,强调的是具备了功能的对象

为了更清晰直观的理解它俩的区别,下面举个经典的例子:把大象放进冰箱需要几步
在这里插入图片描述左边就是经典的面向过程的思想,它是强调打开,存储,关闭的每一个具体的动作。

右边是面向对象的思想,它是强调先把打开,存储,关闭这些动作封装到冰箱里,然后搞一个冰箱对象,然后调用对象的动作

面相对象这么做有什么好处呢?

大家可以想想,之前面向过程的时候你需要面向许许多多具体的方法函数一个一个去调用它们;

现在面向对象呢?你只需要找到某个对象,你只需要面向一个对象就好了,调用它的方法就搞定了。

3、类与对象的关系

类:是对某一类具有共同特征的事物的描述;

对象:就是这类事物实实在在存在的个体,是根据类产生出的具体实例。

那思考一个问题,是先有类还是先有对象啊?

这个问题怎么回答都对,如果你说先有类后有对象,这是从计算机编程语言角度去说的;

如果你说先有对象后有类,这是从现实生活中去说的,因为是现有了生活中实实在在的事物,我们才能去归类对它进行描述。

关于类和对象的关系,我们还是举例说明

现实生活中的对象:张三、李四,这两个学生

我们要描述他们:提取对象中共性的内容,对具体的对象进行抽象

描述时发现这些对象的共有特性有:姓名、年龄、性别、会写字,会学习技能等等,这些特征就可以描述出学生这一类事物

但是张三、李四,这些实实在在存在的个体,他们又有不同的姓名、年龄、性别等

映射到Java中,上边的“描述”就是用class关键字定义的类;

上边的“对象”就是对应Java在堆内存中用new关键字建立的实体。

下面用代码简单的体现一下

package com.cj.study.object;
 
//通过class来描述student学生类
public class Student {
	
	private String name;
	
	private int age;
	
	private String sex;
	
	public Student(){}
	
	public Student(String name,int age,String sex){
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	
	public void write(){
		System.out.println("写字。。。");
	}
	
	public void study(){
		System.out.println("学习。。。");
	}
	
}

package com.cj.study.object;
 
public class StudentTest {
 
	public static void main(String[] args) {
		
		//通过new在堆内存中产生对象实例
		Student zhangsan = new Student("张三",18,"男");
		Student lisi = new Student("李四",20,"女");
		
		//有了对象以后,可以调用对象的方法
		zhangsan.write();
		zhangsan.study();
		lisi.write();
		lisi.study();
		
	}
	
}

以上就是对面向对象的一些理解和总结

大概了解了面向对象是怎么回事后,后边会陆陆续续的讲一下面向对象的几个特性:封装、继承、多态、抽象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值