01/10/2018, 10:00
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
Bài liên quan
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
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
Đó 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
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++
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.
instance bác à
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…
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!
đố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à.
định nghĩa tâm thần, thực thể mà chỉ là cái địa chỉ nhà… bó tay Java/C#…
Địa chỉ nhà là reference.
ref: https://see.stanford.edu/Course/CS106A/195
lesson 4, phút 25.
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 @_@
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
Còn
T foo = new T()
thì foo là referenceĐố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.
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.