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

Khanhvm viết 12:08 ngày 01/10/2018

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

Do Ngoc Anh viết 12:12 ngày 01/10/2018

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.

Khanhvm viết 12:08 ngày 01/10/2018

ClassA c = new ClassA() ; // c is object
var a = c; // a is instance
var b = c; // b is instance
Is this right?

Do Ngoc Anh viết 12:07 ngày 01/10/2018

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.

Trần Ngọc Khoa viết 12:06 ngày 01/10/2018

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.

Do Ngoc Anh viết 12:11 ngày 01/10/2018

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

Hidan viết 12:16 ngày 01/10/2018

ClassA c = new ClassA() ;

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ỉ ?

rogp10 viết 12:06 ngày 01/10/2018

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

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

Văn Dương viết 12:01 ngày 01/10/2018

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

Do Ngoc Anh viết 12:05 ngày 01/10/2018

instance bác à

rogp10 viết 12:16 ngày 01/10/2018

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

viết 12:09 ngày 01/10/2018

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

Vô Thin viết 12:15 ngày 01/10/2018

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!

viết 12:08 ngày 01/10/2018

đố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#…

Văn Dương viết 12:11 ngày 01/10/2018

Địa chỉ nhà là reference.

Nguyen Ca viết 12:08 ngày 01/10/2018
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.

viết 12:11 ngày 01/10/2018

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 @_@

rogp10 viết 12:14 ngày 01/10/2018

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ỉ?

Nguyễn Tuấn Anh viết 12:07 ngày 01/10/2018

Đố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.

Trần Hoàn viết 12:12 ngày 01/10/2018

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.

Bài liên quan
0