什么是面向对象编程(OOP)

时间:2020-02-23 14:37:13  来源:igfitidea点击:

按照本教程了解面向对象编程的原理,编写可重用的干净代码

本文旨在解释有关OOP的原理和概念,以及在讨论OOP时需要了解的4个主要术语:封装、继承、抽象和多态。尽管这些原则对每个面向对象编程语言都是完全有效的,如:java、python、C++、Ruby etc.,我将在java中提供例子。为什么?因为,首先这是一个Java教程,第二个是面向对象的,Java中的一切都是对象。

原始类型像

int

,

double

,

long

等等不是你可以说的对象。好吧,这是真的,但是即使是原始类型也有Java中的对象表示。

int

Integer

,

double

Double

等等。

在下一次Java面试中,也要准备好遇到面向对象的问题。它们非常常见,几乎100%的机会你会被问及一个或者多个OOP原则。

什么是OOP

Wikipedia将OOP定义为:“基于对象概念的编程范式,对象可以包含字段形式的数据,通常称为属性;代码以过程的形式,通常称为方法。”

面向对象编程(OOP)是一种以对象和数据为核心组件的编程语言模型。如果你想要更多的细节和更好的理解类和对象,我有一个关于这个主题的详细教程。点击这里阅读。

OOP的主要思想是用对象而不是动作或者函数来表示数据和逻辑。把对象想象为现实生活中的对象…汽车、建筑物、动物、苹果等,还有抽象的对象(我们看不见或者吃不到的东西),比如HttpConnection或者UserDataParser,所有这些对象都具有操作和访问存储其中的数据的属性和方法。最终我们可以把所有的东西“转换”成一个物体。

那么,拥有所有这些对象和OOP有什么大不了的?好吧,没人能阻止你在一个包含数百个函数的大文件中编写Java程序(当然除了你的团队领导或者老板),但是一旦你遵循了面向对象编程的原则,你将产生可重用、可维护、可伸缩和干净的代码。

以下是 4大Java OOP原则

封装

封装就是将变量和方法封装在一个单元中,其唯一目的是对外部类隐藏数据。请阅读更多有关Java封装的详细信息。

继承

继承是允许Java类从其他类派生的OOP功能。

抽象

抽象是对用户隐藏实现细节的过程。只向用户提供功能。有关更多详细信息,请阅读完整的Java抽象示例。

多态性

Java中的多态性允许类的子类定义它们自己的独特行为,同时共享父类的一些相同功能。请阅读完整的Java多态性示例以了解更多详细信息。