Phân biệt object và instance?

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?

1 Like

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.

1 Like

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!

18 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.

2 Likes
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.

4 Likes

Object và Instance có khác nhau một chút, đối với lớp static thì không có object mà chỉ có 1 instance được khởi tạo khi chạy chương trình. Đối với biến hoặc phương thức static cũng tương đương.

Object và Instance có khác nhau một chút, mọi object đều là instance, nhưng instance có nghĩa rộng hơn. Mỗi class đều có một static instance, được khởi tạo khi chạy chương trình. Static field, static property, static method… là các field, property và method… của instance đó.

3 Likes

giải thích phải như này chứ. dễ nhớ và dễ hiểu

1 Like

Vì mình không phải dân IT, trong quá khứ khi làm việc ở công ty có làm dự án liên quan đến CNTT để rồi mấy ông IT dỏm tới làm, nói/ dùng toàn thuật ngữ khó hiểu => cãi nhau với anh chị em công ty mình hăng quá nên mình “xắn tay áo” nhảy vào: mấy ông tưởng tui hông biết làm hả, tui làm được và còn giải thích cho mọi người hiểu. Sau đó, được 1 công ty CNTT tuyển làm BA luôn.

4 Likes

bro này nói chuẩn nè

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