Слово Класс происходит от Классификация ( A Категория , в которую что-то вставлено ), Теперь мы все слышали, что Класс похож на Светокопию, но что это значит?Это означает, что Class содержит описание конкретной категории, ( Я хотел бы показать разницу между Class, Object и Instance на примере использования Java, и я бы попросил читателей визуализировать его следующим образом:история при ее чтении, и если вы не знакомы с java, не имеет значения ) Итак, давайте начнем с make Category с именем HumanBeing , так что Java-программа будетвыразил это следующим образом:
class HumanBeing{
/*We will slowly build this category*/
}
Какие атрибуты имеет HumanBeing в целом Имя , Возраст , Рост , Вес на данный момент давайте ограничимся этим четырьмя атрибутами, добавим его в нашу категорию
class HumanBeing{
private String Name;
private int Age;
private float Height;
private float Weight;
/*We still need to add methods*/
}
Теперь каждая категория имеет поведение, например, категория Собака имеет поведение лаять, извлекать, катиться и т. Д., Аналогично наша категория HumanBeing также может иметь определенное поведение, например, когда мы спрашиваем у нашего HumanBeing как вас зовут/ возраст / вес / высота?Он должен дать нам свое имя / возраст / вес / рост, поэтому в java мы делаем это следующим образом
class HumanBeing{
private String Name;
private int Age;
private float Height;
private float Weight;
public HumanBeing(String Name,int Age,float Height,float Weight){
this.Name = Name;
this.Age = Age;
this.Height = Height;
this.Weight = Weight;
}
public String getName(){
return this.Name;
}
public int getAge(){
return this.age;
}
public float getHeight(){
return this.Height;
}
public float getWeight(){
return this.Weight;
}
}
Теперь мы добавили поведение в нашу категорию HumanBeing , поэтому мы можем спроситьдля его имени, возраста, роста, веса, но у кого вы будете спрашивать эти детали, потому что class HumanBeing
- это просто категория, это чертеж, например, Архитектор делает чертеж на бумаге здания, которое он хочет построить, сейчасмы не можем продолжать жить в соответствии с планом ( его описание здания ), мы можем жить в здании только после того, как оно построено. Так что здесь мы должны сделать человека из нашей категории, которую мы описали выше, таккак мы это делаем в Java
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
}
}
Теперь в вышеприведенном примере мы создали нашего первого человека с именем возраста и веса, так что именно происходит в приведенном выше коде?,Мы Создаем нашу категорию HumanBeing т.е. объект нашего класса создан
Примечание: Объект и экземплярне синонимы В некоторых случаях кажется, что объект и экземпляр являются синонимами, но это не так, я приведу оба случая
Случай 1: объект и экземпляр являются синонимами
Позвольте мне немного пояснить, когда мы говорим HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
Объект нашей категории создается в памяти кучи и ему выделяется некоторый адрес, а firstHuman
содержит ссылку на этот адрес, теперь этот объект объект HumanBeing , а также экземпляр HumanBeing .Здесь кажется, что Объекты и Экземпляр являются синонимами, Я повторюсь, они не являются синонимами
Давайте возобновим нашу историю, мы создали нашего первого Человека, теперь мы можем спросить его имя, возрастрост, вес, вот как мы делаем это на Java
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
System.out.println(firstHuman.getName());
System.out.println(firstHuman.getAge());
...
...
}
}
, поэтому у нас есть первый человек, и мы можем двигаться вперед, давая нашему первому человеку некоторую квалификацию, давайте сделаем его Доктором, поэтому нам нужнокатегория под названием Доктор и дает нашему доктору некоторое поведение, поэтому в java мы делаем следующее
class Doctor extends HumanBeing{
public Doctor(String Name,int Age,float Height,float Weight){
super(Name,Age,Height,Weight);
}
public void doOperation(){
/* Do some Operation*/
}
public void doConsultation(){
/* Do so Consultation*/
}
}
Здесь мы использовали концепцию Наследование , которая приноситДля повторного использования в коде каждый врач всегда будет сначала HumanBeing, поэтому у доктора будет имя, возраст, вес, рост, которые будут унаследованы от HumanBeing, вместо того, чтобы писать его снова, обратите внимание, что мы только что написали описание докторамы еще не создали его, поэтому давайте создадим Доктора в нашем class Birth
class Birth{
public static void main(String [] args){
Doctor firstDoctor = new Doctor("Strange",40,6,80);
.......
.......
/*Assume some method calls , use of behaviour*/
.......
.......
}
}
Случай 2: Объект и Экземпляр не являются синонимами
В приведенном выше коде мы можем визуализировать, что мы создаем нашу категорию Doctor и воплощаем ее в жизнь , т.е. мы просто создаем объект категории Doctor , как мы уже знаем Объект создается в памяти кучи , а firstDoctor
содержит ссылку на этот объект в куче;
Этот конкретный объект firstDoctor
выглядит следующим образом (обратите внимание, firstDoctor
содержит ссылкудля объекта это не сам объект)
firstDoctor
- это Объект class Doctor
И Экземпляр A class Doctor
firstDoctor
- это Не объект class HumanBeing
Но Экземпляр class HumanBeing
Таким образом, конкретный объект можетбыть экземпляром определенного класса, но он не обязательно должен быть объектом данного класса
Вывод:
Объект называется экземпляромконкретной категории, если она удовлетворяет всем характеристикам этой конкретной категории
реальный мирПример будет следующим: мы изначально рождены людьми, поэтому представляем себя объектами человека, теперь, когда мы растем, мы берем на себя обязанности, учимся новым навыкам и играем разные роли в жизни, например, сын, брат, дочь, отец,мать сейчас Что мы на самом деле? Мы можем сказать, что мы Объекты Человека, но Случаи Брата, дочери ... и т. д.
Надеюсь, это поможет
Спасибо