Java 对象模型

Java 对象模型

对象模型概述

你是否曾经思考过软件程序如何看到并与构成它们的组件进行通信?

对象模型在这种情况下非常有用。开发人员可以使用复杂的面向对象技术将这些组件表示为对象,这要归功于强大的系统或接口。

实际上,对象模型对于软件开发非常重要,因此通常是最初阶段之一。对象模型通过定义继承和封装等关键特性来建立可靠、适应性强和可扩展的应用程序设计框架。你准备好学习更多关于面向对象编程的知识了吗?

对象和类

Java或任何其他面向对象编程语言的面向对象范例依赖于对象和类。让我们更仔细地研究它们,看看它们是什么。

对象

在面向对象编程中,对象类似于现实世界中的元素,无论是物理的还是概念上的,具有其独特的属性。

下面是对象的一些定义特征:

  • 唯一性 - 每个对象在系统中都与其他所有对象不同,具有自己的属性和行为。

  • 状态 - 每个对象都具有表示其当前特定对象的属性和值的状态。

  • 行为 - 对象的行为指的是它可以执行的操作以及它如何在内部和外部与其他对象交互。

例如,一个人可以被表示为一个物理对象,而一个过程或产品可能更适合作为一个概念对象。

类是对象的蓝图或模型,描述了具有相似特征的一组对象。这些东西被称为类的实例。类中有几个元素:

对象的属性中所保存的信息可能因为属于同一类的不同对象而有所不同。这些特征被称为类数据。

操作是用于指定和描述这些对象的活动的过程和技术。

以”Employee”类为例。以下特征可以应用于这个类:

  • 员工的经验

  • 员工所在的部门

  • 员工开始工作的年份

  • 员工的个人信息,如姓名、员工ID和出生日期。

使用这个类,你可以执行多种操作,包括:

  • averageyears() - 计算员工经验的平均年数。

  • totalyears() - 计算员工的总经验年数。

步骤

  • 步骤1 - 创建”Employee”公共类。

  • 步骤2 - 使用数字2和4调用”total_years”函数,以添加员工工作经验的总数。

  • 步骤3 - 然后我们调用了另一个名为”avg_years”的函数,使用”total_years”的结果和一个整数2。这个函数计算这两个数字的平均值,并以小数形式返回结果。

  • 步骤4 - 程序使用System.out.println方法将结果打印到控制台。

  • 步骤5 - 输出显示了总工作经验的年数,为6。这两个数字的平均值为3.0。

示例

下面的代码定义了一个名为”Employee”的类,该类计算两个员工的总工作经验和平均工作经验,并将结果打印到控制台。

import java.io.*;
public class Employee {
   public static void main (String[] args) {
      // passing parameters to functions
      int tot = total_years(2,4);
      double avg = avg_years(tot, 2);

      // printing the output
      System.out.println("The total years is = "+tot+". The average is = "+avg+".");
   }

   // function to calculate total
   public static int total_years(int executive, int senior) {
      int total = executive + senior;
      return total;
   }

   // function to calculate average years
   public static double avg_years(int total, int num_subs) {
      double avg = total/num_subs;
      return avg;
   }
}

输出

The total years is = 6. The average is = 3.0.

封装和数据隐藏的概念

为了确保我们的数据保持安全,不容易受到外部干扰,封装和数据隐藏是必须实现的重要概念。

封装涉及将方法和属性组合在一个类中。只有当类提供接口时,才允许对内部详细信息或类属性进行外部访问。

另一方面,数据隐藏是保护对象不受外部方法直接访问的过程。

许多对象需要能够相互通信以创建交互式应用程序。这种通信是通过消息传递实现的,即在由各个进程创建的对象之间调用类方法。在大多数情况下,消息传递是单向的,并且允许两个事物之间进行通信。

继承

通过使用继承的基本概念,可以从具有更广泛功能的现有类创建新类。最初的类通常被称为父类、基类或超类,而新类被称为子类、派生类或子类。

只要超类允许,子类可以继承或获取其超类的特征和能力。(es)此外,子类有权修改任何继承的超类方法,并引入自己的特性和方法。

由于继承在父类和子类之间建立了”是一个”的关系,它为程序员提供了开发面向对象应用程序的有力工具。

例如,您可以使用Reptile类作为蓝图创建类,例如Crocodile、Snake和Chameleon。除了作为爬行动物的共同特点之外,每个都具有独特的特征。因此,可以说鳄鱼”是一个”爬行动物。

多态性

来自希腊语的词”多态性”指的是能够呈现多种形状的能力。在面向对象编程的上下文中,它指的是操作基于应用于的对象类型而作出不同行为的能力。

这在继承中特别有帮助,因为它使具有不同内部结构的对象可以共享一个公共接口。

让我们以两个类Triangle和Rectangle为例说明。两个类都包含一个名为findArea()的方法。

尽管这个方法的名称和目标在两个类中是相同的,但它在内部是如何实现的(即如何计算面积)取决于类别。

当Rectangle类的对象运行其findArea()函数时,它不会干扰Triangle类的findArea()方法,因此计算圆的面积。

泛化和特化

在类层次结构中,子类从超类继承,这反映在泛化和特化中。

在泛化过程中,子类被连接在一起形成一个泛化的超类,合并了类的共享特征以生成层次结构中更高级别的类。

它表明了”是 – 一种”的关系。

例如,”自行车是一种陆地交通工具”或”船是一种水上交通工具”。

与泛化相对应的是专门化的过程。在这种情况下,使用一组项目的特定特征从现有类创建专门化的类。可以将子类看作是超类的专门版本。

链接和关联

链接和关联用于表示对象之间的关系。链接表示通过它们协作的对象之间的连接。关联是一组具有共同结构和行为的链接,表示一个或多个类的对象之间的关系。

关联的程度表示链接的类数。

关联的基数比率表示参与关联的实例数量。

聚合和组合

聚合或组合是类之间的关系,其中一个类可以由其他类的任意组合对象组成。

现在,对象可以直接放置在其他类的主体中。

聚合被称为“部分”或“具有”关系,具有从整体导航到其部分的能力。聚合实体由一个或多个其他对象组成。

结论

由于它使开发人员能够使用面向对象的技术将组件表示为对象,对象模型是软件开发的重要组成部分。通过对象和类,构成面向对象范式基础的Java使用对象模型。对象模型中的关键思想,如封装、数据隐藏、继承和多态性,提高了应用程序的适应性、可伸缩性和鲁棒性。通过掌握这些思想,开发人员可以设计出更有效、高效和多功能的软件应用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程