哦,有例子的概念面向对象编程(OOP)是几种现代编程语言中使用的编程概念,如c++、Java和Python。在面向对象编程之前,程序被视为接受数据并产生输出的过程。对这些项目的数据很少给予重视。面向对象编程的工作原理是:对象是程序中最重要的部分。操纵这些对象以获得结果是面向对象编程的目标。如果您是Java新手,您可能想从学习Java初学者课程

面向对象编程概念

OOP以对象为中心。创建所需的对象,然后创建处理这些对象的方法。这些方法不会影响对象的状态,但会反过来影响。面向对象编程还解决了其他编程技术的其他几个弱点(非结构化、过程性和模块化)。

例如,一个类(构成一个对象的蓝图)可以“继承”另一个类的特征,这与模块不同。这意味着您的新类可以做您的旧类可以做的事情,甚至更多。在一个程序中,一个类也可以同时有几个给定的实例。

在OOP中,数据与对其进行操作的方法组合在一起,这样便于维护数据的完整性并为程序提供结构。为了更好地理解OOP,您必须理解它的概念,或者它的基础,我们将在本教程中解释它。看看其他类型的编程技术及其弱点,以便更好地了解面向对象编程与这些技术的区别,这也是一个好主意。或者,你可以通过Java获取我们的介绍性课程- 我们教你在课程中需要了解OOP的一切。

那么什么是面向对象程序呢?当然,它是一个包含对象的程序,这些对象具有特定的属性和链接到它们的方法。您可以使用这些方法来获得编程结果。下面是基本的面向对象概念,以及每个概念的示例。

一个编程对象

当你创建一个面向对象的程序时,你的视角改变了,所以你把世界看成是一个对象的集合。花是物体的一个很好的例子。茎的长度、花瓣的颜色、香味和图案都是花的属性或属性。这些属性构成了我们程序中的数据。这些属性的值(例如,花瓣的蓝色)构成了对象的状态。花的作用是什么?你可以说它通过授粉产生新的花朵。这是花对象的一种方法。

对象既是数据又是对数据进行操作的函数(或方法)。对象也可以定义为类的实例,并且在程序中可以有多个对象实例。

如何在Java中创建一个对象?像这样,使用新的关键字:

花玫瑰=新花;

这将在程序中创建一个名为rose的对象。

当您想要创建一个对象时,您首先要创建它的类。类将定义对象的属性和方法。一个类可以用来创建类似的对象。您可以将类看作是对象的蓝图。例如,如果您有一个名为“cars”的类,它可以有像Mercedes、BMW和Porsche这样的对象。类定义的属性可以是这些汽车的速度或价格,而方法可以是您可以使用这些汽车执行的任务:例如,赛车。

如何用Java定义一个类?看看下面的例子:

public class Flower {
字符串名称;
字符串的颜色;
空白授粉(){
}
}

在这里,我们创建了一个名为Flower的类,属性名称和颜色以及称为授粉的方法。这在C ++中非常相似。如果您想快速学习C ++等价物,查看此1小时C ++课程

遗产

类可以共享、获取或“继承”属于现有类的属性和方法。这让您可以重用现有的代码,并减少您花在编码上的时间。继承另一个类的类称为派生类或子类。共享其属性和方法的类称为基类或父类。基类可以具有父类中不存在的附加属性和方法,用于区分基类并提供附加功能。

如果您想要一个真实的界限,请考虑Windows操作系统。Windows 98具有在Windows XP中使用的某些属性和方法。Windows XP源自Windows 98,但它仍然与它不同。Windows 7来自Windows XP,但它们都不同。然而,它们都遵循某个基本模板和共享属性。对于基类和派生类,这也是如此。

在Java中,你可以使用extends关键字继承一个类:

public class Flower {
字符串名称;
字符串的颜色;
空白授粉(){
}
}
公共班罗斯延长了花{
}

继承的类Rose现在可以共享类Flower的属性和方法。关于在Java中声明对象或类的更多信息,您可以参见本课程的Java基础s。

多态性

多态性是指以不同方式使用方法的能力,即,它可以在不同时间(poly + morphos)采用不同的形式。有两种类型的多态性:编译时间多态性和运行时间多态性。

当方法过载时,发生编译时间(静态)多态性;也就是说,当改变与该方法一起使用的参数时。这是为了获得不同的结果。一个例子是建议成为一个国家总统的不同名称,每次都会让你不同的结果 - 但他们仍然被称为总统。

当方法本身发生更改时,就会出现运行时(动态)多态性。当你需要的不是总统而是首相时,你就必须推翻现有的方法。

我们将用一个简单的例子来解释这个概念。假设你想把两个数字相乘:

public int mulNum (int x, int y) {
//
}

但是如果你有多个数字,那么是什么,但它们有“双”值而不是“int”值?您只需更改论点:

public int mulNum (double x, double y) {
//
}

您在此处完成的只是更改方法的签名 - 方法的名称保持不变。JVM(和其他OOP编译器)可以区分方法,并根据您给出的输入提供正确的结果。通过本课程学习如何在c++中处理多态性

数据抽象

数据抽象是指仅显示要处理对象的相关属性和方法的过程,同时隐藏其余部分。数据抽象允许您降低程序的复杂性(显然),并且是由OOP语言中的类提供的大型优势。

一个例子可以帮助您更好地理解这一点。只要您拥有键盘和屏幕,您就可以操作手机。您不了解其微电路,天线,软件或其他技术来操作它。它的复杂性是隐藏的。

您可以在Java中声明一个类作为抽象,以使用数据抽象功能。但是,一堂课被声明为摘要,它无法实例化。如果它有任何方法和字段,该课程不会无用,仍然可以访问它们。但是,不可能声明抽象类的实例。他们可以被划分。

您可以使用abstract关键字创建抽象类。抽象类可以包含也可以不包含抽象方法。包含抽象方法的类必须声明为抽象——普通类不能包含抽象方法。

以下是如何在Java中声明一个抽象类的示例:

public抽象类
//声明您的字段
//声明普通方法
}

以下是Java中的抽象类中声明的抽象方法的示例:

public抽象类
//声明您的字段
文摘空白延迟();
}

方法delay()是抽象方法。注意,它的声明不同于其他方法声明——你不必在它后面使用花括号。此外,必须在声明之后使用分号“;”。抽象方法可以与非抽象方法并存。如果你想在c++中看到类似的东西,本课程将更多地讨论c++中的数据抽象

封装

封装指的是将对象及其方法保存在一个地方。它还保护了数据的完整性——通过限制对数据的访问(最好是对外部元素隐藏数据),防止数据被不必要地修改。封装常常与数据抽象混淆,但它们是完全不同的概念。数据隐藏或数据抽象更多地与访问说明符有关。程序员必须先封装数据,然后才能采取步骤隐藏数据。

例如,过程程序不是封装的。这些过程与数据分开分组。在OOP中,数据总是与对数据进行操作的方法组合在一起。

默认情况下,Java中的正常类遵循封装原则。让我们创建一个在办公室处理员工和他的任务的基本课程:

公共类Employeedetails {
私人字符串employeeName;
私有字符串员工
私人int工资;
私人int horedday;
公共空白工作(){
}
Public void train () {
}
}

正如您所看到的,我们将保留与员工一起处理的数据(工作和列车)。这是封装。我们指定了员工的姓名,他的薪水和小时他每天工作为私人,这意味着只有程序的成员可以访问此数据。这有助于保护数据的完整性。在这个高级Java课程中了解更多关于封装的内容

注意,这些只是基本的概念。你必须编写自己的程序并进行实验,才能真正理解它们。你甚至可以在课程的帮助下,为Android编写自己的Java应用程序

Java的顶级课程

硒WebDriver与Java -基础到高级+框架
拉胡尔谢蒂
4.6 (58964)
畅销书
简单的Java 8新特性
杜尔加斯州杜尔加
4.6 (6,794)
开发Minecraft插件(Java)
斯蒂芬·金
4.8 (2067)
畅销书
简单的Java 9新特性:JShell, JPMS和更多
杜尔加斯州杜尔加
4.9 (441)
完整的Java核心课程:学习代码
Dezlearn教育
4.5 (737)
Java设计模式
Bharath thippiveddy.
4.5 (609)
Java:简化了多线程和并发性
SAGAR UPPULURI.
4.5 (416)
Java编程:一步一步从A到Z
Holczer Balazs
4.6 (578)

更多Java课程

Java学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示