【Java】大白话讲述面向对象

简介: 【Java】大白话讲述面向对象

【Java】大白话讲述面向对象

  你知道当下都有什么主流类型的编程语言吗?当然是面向过程开发和面向对象开发啦。早期的C语言就是典型的面向过程编程语言,后面诞生的Java,C++等则是面向对象的编程语言。那么两者之间有什么区别呢?

       先说最容易区分的特点,面向过程里面最小的单元是函数,里面包含一个程序入口的主函数和一堆普通函数。举一个例子,在这个Java自学班里面,有一个发号指令的班长(主函数)和一群学生(普通函数),教室需要大扫除,班长让菌菌去擦玻璃(主函数调用普通函数),菌菌比较懒,就把任务交给了小木槿(普通函数可以互调),然后可怜的小木槿把玻璃擦完了。

       面向对象里面的最小单元则是类。类是具有共同属性、共同方法的一类事物。类是对象的抽象,对象是类的实例。举个例子,今日在班级里面实行小组管理制度,分为A组和B组,大家自行分组,每个小组里面有六个人,每周要轮流打扫班级卫生。小组这个名词可以理解为类,因为这个没有具体的名字,只是A组和B组的共同特性出来的一个抽象概念。A组和B组则可以比作对象,它们是具体的存在,小组的名字,成员可以比作小组的属性。再次大扫除时,班长向小组发号指令时,却不知道具体是小组里面的谁在执行指令,小组对班长隐藏了具体详细的执行方案,这也就是对象三大特征中的封装。

       在Java里面,除了8个基本数据类型值以外,一切都是对象,一切围绕着对象。面向对象编程可以理解为你发号指令的单位是一个对象,不再是一个函数。比如“菌菌喝白开水”:

在面向过程的程序里是这样子的:

喝(菌菌,水);

在面向对象的程序里则是:

菌菌.喝(水);

       既然是面向对象有三大特征,我们已经讲了封装,那么另外两大特征又是什么呢?


多态


       接着谈一下多态,书本上的解释为子类对象直接赋值给父类变量,但是运行时,依然表现出子类的行为特征。个人理解为一种事务的多种形态,比如说菌菌要喝水,老大送过来一杯冻成冰块的水,小木槿递过来一杯常温状态下的水,二哥端来了一杯热腾腾的白开水。这三杯都是由水(父类)演变过来的,又有各自的温度(子类特征)。喝水是调用方法,参数是水(父类),实际送过来的水各有特点,你一个喝水的操作有不同的特征,现在懂多态了吗?


继承


       那么什么又是继承呢?标准的解释是子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法。我们再来举个例子,想必各位同学都买过书吧,都知道书的版次是不同的。一天菌菌在某二手网站淘了一本第二版的葵花宝典,该秘籍在第一版书的基础上增加了对最新版jdk的介绍。那么我们就可以认为第二版涵盖了第一版的所有内容,并且还有自己的内容。第一版就可以当做第二版的父类,第二版当做第一版的子类,这就是继承。


       现在就介绍完了面向对象的概念和三大特征,主要结合个人的理解,使用通俗的大白话讲解,不知道各位有没有什么不懂的地方?如果有什么不对的地方,欢迎反馈,共同学习。  

目录
相关文章
|
5天前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
4天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
13 4
|
5天前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
21天前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
34 2
|
2月前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解
|
2月前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
9天前
|
Java 开发者
Java 面向对象
Java 是一种面向对象的编程语言,通过对象与类的概念组织代码和数据。面向对象编程的核心包括类、对象、继承、多态、封装和抽象。类是对象的蓝图,定义了属性和行为;对象则是类的实例。继承允许子类继承父类的属性和方法,增强代码复用性;多态则支持通过相同接口调用不同类型对象的行为,包括方法重载和重写。封装通过公共方法隐藏对象细节,提高安全性;抽象则对对象特征进行提炼,通过抽象类和接口实现。理解这些概念有助于设计高效、可维护的 Java 应用程序。
|
16天前
|
Java 开发者
Java编程之旅:探索面向对象的力量
【9月更文挑战第16天】在编程的世界中,Java以其强大的面向对象编程特性而闻名。本文将带你走进Java的世界,一起探索类与对象的奥秘,学习如何通过封装、继承和多态性构建健壮的软件系统。无论你是初学者还是有经验的开发者,本文都旨在提供实用的代码示例,帮助你提升Java技能。准备好开始这段旅程了吗?让我们启程吧!
|
2月前
|
Java 开发者 C++
|
2月前
|
存储 Java
Java面向对象面试题总结(上)
在Java中,重写(Override)与重载(Overload)是两个重要的概念,关联到方法的定义与调用。重写是指子类对继承自父类的方法进行新的实现,以便提供子类特有的行为,其关键在于方法签名一致但方法体不同。重载则允许在同一个类中定义多个同名方法,只要参数列表不同即可,以此提供方法调用的灵活性。重写关注多态性,而重载强调编译时多态。
21 1
下一篇
无影云桌面