Путаница в строке о разнице между экземпляром и объектом в контексте Java

#java #oop

#java #ооп

Вопрос:

Кто-нибудь может сообщить, что следующее говорится об экземпляре и объекте:

Если класс является общим представлением объекта, экземпляр является его конкретным представлением.

Я знаю, что конкретное означает неабстрактное. Итак, что на самом деле представляет собой общее представление и конкретное представление?

Ответ №1:

Car — это общее представление, имеющее атрибуты (колеса, двери, цвет и т.д.) и поведение (старт, остановка, торможение, ускорение, переключение передач и т.д.), также называемое классом.

Ford Focus Боба (красный, номерной знак LH 12 233) — это экземпляр класса Car, также называемый объектом.

Ответ №2:

Моим лучшим советом было бы удалить словарь.. искать, что означает concrete, а не пытаться применить определение к пониманию того, что имел в виду автор, когда он или она использовал конкретное представление для описания экземпляра объекта, просто неправильно.

Поищите другие объяснения того, что такое объекты, классы и экземпляры objects, и я уверен, что вы найдете много отличных примеров.

В принципе, вы могли бы думать о классе как о «рецепте» или как о «шаблоне» (хотя я неохотно говорю «шаблон», опасаясь вызвать путаницу), а экземпляр — как о «воплощении» указанного рецепта или шаблона.. отсюда и конкретное представление.

Итак, у вас есть следующее, которое является классом (рецепт):

 class Human
{
  private string Name;
  private int Age;

  public void SayHello()
  {
      // run some code to say hello
  }

  public Human(string name, int age)
  {
     Name = name;
     Age = age;
  }
}
  

И это экземпляры (объекты)..

  Human mike = new Human("Mike", 28);
 Human jane = new Human("Jane", 20);
 Human adam = new Human("Adam", 18);
  

Они являются воплощениями или конкретными представлениями нашего человеческого класса.

Ответ №3:

«Общее» означает «описывает, на что похожи вещи такого рода; какими качествами они обладают». «Конкретный» означает «то, что является специфичным для этого экземпляра; что отличает его от других подобных типов».

Ответ №4:

В контексте Java :

Объект: это экземпляр класса: вещь, созданная при использовании класса.

ПРИМЕР: (чтобы использовать приведенный выше пример car) В приведенном ниже примере «Car» — это объект, а myInstanceOfCar — экземпляр.

 class Car
  private String color;

  public static void main(String[] args)
  {

    Car myInstanceOfCar = new Car();
  }
}
  

Ответ №5:

Классы — это, в некотором смысле, шаблоны объекта, в то время как экземпляры классов являются самими объектами. Объекты определяются по их типу и «создаются» с использованием этого шаблона, что такое объекты, их свойства и методы, а также все их атрибуты зависят от этого шаблона. Думайте о классах как о «формах», а об объектах как о том, что получается из этих форм.