Java 类和对象

类和对象是面向对象编程的基本组件。通常,类和对象之间存在混淆。在本教程中,我们尝试告诉你类和对象之间的区别。

首先,让我们了解它们是什么,

什么是类?

类是一个实体,用于确定对象的行为方式以及对象将包含的内容。换句话说,它是构建特定类型对象的蓝图或一组指令。

语法

class <class_name>{  
    field;  
    method; 
  }  

什么是对象?

对象只不过是一个自包含的组件,它由方法和属性组成,以使特定类型的数据有用。对象确定类的行为。向对象发送消息时,你要求对象调用或执行其中一种方法。

从编程的角度来看,对象可以是数据结构,变量或函数。它分配了一个内存位置。该对象被设计为类层次结构。

语法

ClassName ReferenceVariable = new ClassName();

对象和类有什么区别?

是蓝图或原型,它定义了某种类型的所有对象共有的变量和方法(函数)。

对象是一个类的标本。软件对象通常用于模拟你在日常生活中发现的现实世界中的对象。

通过一个例子来理解 Java 类和对象的概念。

我们举一个开发宠物管理系统的例子,尤其是专门用于狗的管理系统。你将需要有关狗的各种信息,如不同品种的狗、年龄、大小等。

你需要对真实生物建模,将狗的模型输入进软件实体。

以下是解决方案 -

你可能列出的一些狗的差异可能是品种、年龄、大小、颜色等。如果再你想一分钟,这些差异也是这些狗共有的一些共同特征。这些特征(品种、年龄、大小、颜色)可以形成对象的数据成员。

接下来,列出这些狗的常见行为,如睡眠、坐、吃饭等。所以这些将是我们的软件对象的行为。

到目前为止,我们定义了以下内容,

  • - 狗
  • 数据成员对象 - 大小、年龄、颜色、品种等
  • 方法 - 吃、睡、坐、跑。

现在,对于 Java 类中不同的数据成员值(品种大小,年龄和颜色),你将获得不同的狗对象。

你可以使用此面向对象编程方法设计任何程序。

在创建类时,必须遵循以下原则。

  • **单一责任原则(SRP) - **一个类应该只有一个改变的理由
  • **开发封闭责任(OCP)- **它应该能够扩展任何类而无需修改它
  • **Liskov 替代责任(LSR)- **派生类必须可替代其基类
  • **依赖倒置原则(DIP)- **取决于抽象,而不依赖于具体结果
  • **接口隔离原则(ISP)- **准备客户特定的接口。

类和对象的示例代码

//Class Declaration
public class Dog {
    //Instance Variables
    String breed;
    String size;
    int age;
    String color;
    //method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }
    
    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

输出:

Breed is: Maltese Size is:Small Age is:2 color is: white

对象和类示例: 主外部类

在之前的程序中,我们在类中创建 main() 方法。现在,我们创建类并在另一个类中定义 main() 方法。这比以前更好。

//Class Declaration
class Dog {
    //Instance Variables
    String breed;
    String size;
    int age;
    String color;
    //method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }
}
public class Execute{
    public static void main(String[] args) {
        Dog maltese = new Dog();
        
		maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
} 

输出:

Breed is: Maltese Size is:Small Age is:2 color is: white

概要:

  • Java 类是一个实体,用于确定对象的行为方式以及对象将包含的内容
  • Java 对象是一个独立的组件,它由方法和属性组成,以使某些类型的数据有用
  • 类系统允许程序通过使用继承、覆盖和扩充等技术,根据现有类(超类)定义新类(派生类)。