Từ Class xuất phát từ Phân loại ( Một loại mà một cái gì đó được đặt vào ), Bây giờ tất cả chúng ta đã nghe nói rằng một Lớp giống như một Bản thiết kế, nhưng điều này chính xác có nghĩa là gì? Nó có nghĩa là Lớp chứa Mô tả của một Danh mục cụ thể, ( Tôi muốn chỉ ra sự khác biệt giữa Lớp, Đối tượng và Cá thể bằng ví dụ bằng cách sử dụng Java và tôi sẽ yêu cầu người đọc hình dung nó giống như một Câu chuyện khi đọc nó, và nếu bạn không quen thuộc với java không thành vấn đề ) Vì vậy, chúng ta hãy bắt đầu với việc tạo một Category có tên là HumanBeing , vì vậy chương trình Java sẽ diễn đạt nó như sau
class HumanBeing{
/*We will slowly build this category*/
}
Bây giờ các thuộc tính gì một HumanBeing có nói chung Tên , Tuổi , Chiều cao , trọng lượng cho bây giờ chúng ta hãy hạn chế tự của chúng tôi để bốn thuộc tính, chúng ta hãy thêm nó vào loại của chúng tôi
class HumanBeing{
private String Name;
private int Age;
private float Height;
private float Weight;
/*We still need to add methods*/
}
Giờ đây, mỗi danh mục đều có một hành vi, ví dụ danh mục Chó có hành vi sủa, lấy, cuộn, v.v., Tương tự như vậy, danh mục HumanBeing của chúng tôi cũng có thể có một số hành vi nhất định, ví dụ khi chúng tôi hỏi HumanBeing của bạn tên / tuổi / cân nặng / Chiều cao? Nó sẽ cung cấp cho chúng tôi tên / tuổi / cân nặng / chiều cao, vì vậy trong java, chúng tôi thực hiện như sau
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;
}
}
Bây giờ chúng tôi đã thêm hành vi vào danh mục HumanBeing của chúng tôi , vì vậy chúng tôi có thể hỏi tên, tuổi, chiều cao, cân nặng của nó nhưng bạn sẽ hỏi những chi tiết này từ ai, bởi vì class HumanBeing
chỉ là một danh mục, nó là một bản thiết kế, ví dụ một Kiến trúc sư lập bản thiết kế một tờ giấy về tòa nhà mà anh ta muốn xây, bây giờ chúng ta không thể tiếp tục sống trong bản thiết kế ( mô tả của nó về tòa nhà ) chúng ta chỉ có thể sống trong tòa nhà sau khi nó được xây dựng. Vì vậy, ở đây chúng ta cần tạo ra một con người từ danh mục của chúng ta mà chúng ta đã được mô tả ở trên, vậy làm cách nào để chúng tôi thực hiện điều đó trong Java
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
}
}
Bây giờ trong ví dụ trên, chúng ta đã tạo ra con người đầu tiên của chúng ta với tên là cân nặng theo tuổi chiều cao, vậy chính xác thì điều gì đang xảy ra trong đoạn mã trên? . Chúng tôi đang khởi tạo danh mục của chúng tôi là HumanBeing, tức là một Đối tượng của lớp chúng tôi được tạo
Lưu ý: Đối tượng và Đối tượng không phải là Từ đồng nghĩa Trong một số trường hợp, có vẻ như Đối tượng và Đối tượng là Từ đồng nghĩa nhưng không phải vậy, tôi sẽ đưa ra cả hai trường hợp
Trường hợp 1: Đối tượng và Cá thể dường như là Từ đồng nghĩa
Hãy để tôi giải thích một chút, khi chúng ta nói HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
Một Đối tượng thuộc danh mục của chúng ta được tạo trên bộ nhớ heap và một số địa chỉ được cấp cho nó và firstHuman
giữ một tham chiếu đến địa chỉ đó, bây giờ Đối tượng này là Một đối tượng của con người và cũng là một ví dụ của con người . Ở đây có vẻ như Objects và Instance là những từ đồng nghĩa, tôi sẽ tự nhắc lại rằng chúng không phải là từ đồng nghĩa
Hãy để chúng tôi tiếp tục câu chuyện của mình, chúng tôi đã tạo ra Con người đầu tiên của chúng tôi, bây giờ chúng tôi có thể hỏi tên, tuổi, chiều cao, cân nặng của anh ấy, đây là cách chúng tôi làm điều đó trong 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());
...
...
}
}
vì vậy chúng ta có con người đầu tiên và hãy cho phép con người đầu tiên của chúng ta một số bằng cấp, hãy biến anh ta thành Bác sĩ, vì vậy chúng ta cần một danh mục gọi là Bác sĩ và cung cấp cho Bác sĩ của chúng ta một số hành vi, vì vậy trong java chúng ta làm như sau
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*/
}
}
Ở đây chúng tôi đã sử dụng khái niệm Thừa kế mang lại một số khả năng tái sử dụng trong mã, Mỗi bác sĩ sẽ luôn là một Con người đầu tiên, vì vậy Một bác sĩ sẽ có Tên, Tuổi, Cân nặng, Chiều cao sẽ được Kế thừa từ Con người thay vì viết lại, lưu ý rằng chúng tôi vừa viết mô tả về một bác sĩ mà chúng tôi chưa tạo, vì vậy hãy để chúng tôi tạo một Bác sĩ trongclass Birth
class Birth{
public static void main(String [] args){
Doctor firstDoctor = new Doctor("Strange",40,6,80);
.......
.......
/*Assume some method calls , use of behaviour*/
.......
.......
}
}
Trường hợp 2: Đối tượng và Đối tượng không phải là Từ đồng nghĩa
Trong đoạn mã trên, chúng ta có thể hình dung rằng chúng ta đang Khởi tạo danh mục của mình Tiến sĩ và đưa nó vào cuộc sống tức là chúng ta chỉ đơn giản tạo một Đối tượng của danh mục Tiến sĩ , Như chúng ta đã biết Đối tượng được tạo trên Bộ nhớ Heap và firstDoctor
giữ một tham chiếu đến Đối tượng đó trên heap;
Đối tượng cụ thể firstDoctor
này như sau (xin lưu ý firstDoctor
giữ một tham chiếu đến đối tượng, nó không phải là đối tượng chính nó)
firstDoctor
là một đối tượngclass Doctor
và một ví dụ của Aclass Doctor
firstDoctor
là không phải An Đối tượngclass HumanBeing
Nhưng một thể hiện củaclass HumanBeing
Vì vậy, một đối tượng cụ thể có thể là một thể hiện của một lớp cụ thể nhưng nó không cần phải là một đối tượng của lớp đã cho đó
Phần kết luận:
Một đối tượng được cho là một Thể hiện của một Danh mục cụ thể nếu nó thỏa mãn tất cả các đặc tính của Danh mục cụ thể đó
Ví dụ trong thế giới thực sẽ như sau, chúng ta đầu tiên được sinh ra là Con người vì vậy hãy hình dung chúng ta là Đối tượng của Con người, bây giờ khi chúng ta lớn lên chúng ta nhận trách nhiệm và học các kỹ năng mới và đóng các vai trò khác nhau trong cuộc sống như con trai, anh trai, con gái, cha. , mẹ bây giờ Thực ra chúng ta là gì? Có thể nói chúng ta là Đối tượng của Con người Nhưng là Bản thể của Anh trai, con gái, ..., v.v.
Tôi hi vọng cái này giúp được
Cảm ơn bạn