Phân biệt object và instance?

Như tít, mai thi rồi và em đang rất là phân vân giữa hai khái niệm này. Em cũng thử search google rồi, đọc tiếng việt thì mơ hồ còn đọc tiếng anh thì gần như là không hiểu. Mọi người có thể giúp em giải đáp được không ạ? Em cám ơn :frowning:

2 Likes

Object is a copy of the class. Instance is a variable that holds the memory address of the object. You can also have multiple objects of the same class and then multiple instances of each of those objects

1 Like

Quên mất là em cũng thử search google rồi, đọc tiếng việt thì mơ hồ còn đọc tiếng anh thì gần như là không hiểu.

ClassA c = new ClassA() ; // c is object
var a = c; // a is instance
var b = c; // b is instance

Is this right?

Em đánh dòng này ClassA c = new ClassA() vào dev c++ mà nó báo lỗi [Error] conversion from 'A*' to non-scalar type 'A' requested.

Cạn lời :smiley:
Đó chỉ là ví dụ thôi bạn ơi.
Thực ra object là một instance của class. Như vậy object cũng là instance. Nhưng người ta gọi object là một dạng chủ động, instance mang tính bị động nhiều hơn.

Vậy khác nhau giữa hai cái này cụ thẻ là gì vậy bác :slight_smile:

theo câu tiếng anh của b trên thì c là thực thể còn new ClassA() là đối tượng chứ ?, đúng ko nhỉ ?

Câu này không phải của C++ :slight_smile:

Mà “thực thể” này là instance hay entity vậy?

Thực thể là dữ liệu của đối tượng đang tham chiếu nằm trên RAM.

1 Like

instance bác à :smiley: :smiley: :smiley:

Có thể do dịch sai nên khó hiểu đấy.

2 cái là 1 có gì mà phải phân với chả biệt…

1 Like

Giải thích vầy là dễ hiểu:

Lớp là một bản vẽ xây dựng gồm có nét đậm, nét mảnh, nét đứt khúc, hình tròn, nét chấm, hình rẻ quạt… mỗi nhóm các hình đó lắp lại sẽ tượng trưng cho một vật trong thực tế căn nhà sẽ xây như: cột, tường, cửa, lan can, bệ xí…
Đối tượng tất cả cái nhà nói chung mà bạn sẽ nhìn thấy trên thực tế cái mà được xây dựa trên bản vẽ vừa đề cập.
Thực thể là cái nhà cụ thể của ông A, hay nhà bà B nào đó trong tập hợp những cái nhà “đối tượng” kể trên.

Không rõ lập trình hướng đối tượng có bà con gì với việc phân loại sinh vật không?
Lớp: động vật có vú
Đối tượng: con người
Thực thể: thằng cha Do Ngoc Anh.
Hết!

12 Likes

đối tượng mới là cái nhà, còn thực thể là cái địa chỉ nhà… class là bản vẽ ngôi nhà.

Object is a copy of the class. Instance is a variable that holds the memory address of the object.

định nghĩa tâm thần, thực thể mà chỉ là cái địa chỉ nhà… bó tay Java/C#…

2 Likes

Địa chỉ nhà là reference.

1 Like
obj1 = new C();
obj2 = new C();

if (ob1 instanceof C) { //true
//your code
}
if (ob2 instanceof C) { //true
//your code
}

ref: https://see.stanford.edu/Course/CS106A/195
lesson 4, phút 25.

1 Like

chả biết nữa, instance của 1 class với object của 1 class là như nhau chứ. Cái định nghĩa kia định nghĩa instance như reference bó tay.com @_@

1 Like

Vậy là object và instance chả khác gì nhau =)) https://stackoverflow.com/a/9224971 và chữ đấy không phải là “thực thể” đâu :slight_smile:
Còn T foo = new T() thì foo là reference :smiley:

Đối tượng là thể hiện của lớp, vậy thì “instance” nên dịch ntn nhỉ?

Đối tượng (object) là một thể hiện (instance) của một lớp (class). Đối tượng có thể ép sang lớp khác nên một đối tượng có thể là thể hiện của nhiều lớp.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?