Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Phân biệt CLASS - OBJECT - INSTANCE, trong đoạn code này, cái nào là intstance, object, class ?

  1. #1
    Ngày gia nhập
    10 2009
    Bài viết
    14

    Mặc định Phân biệt CLASS - OBJECT - INSTANCE, trong đoạn code này, cái nào là intstance, object, class ?

    Đọc sách mãi mà vẫn chả hỉu được3 khái niệm INSTANCE OBJECT CLASS là cái gì , các pro GIÚP em

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5.  
    6. namespace ConsoleApplication10
    7. {
    8.     public class dog  
    9.     {
    10.         public string name;
    11.         public int age;
    12.  
    13.         public void display()
    14.         {
    15.             Console.WriteLine("{0} {1}", this.name ,this.age);
    16.         }
    17.  
    18.     }
    19.     class Program
    20.     {
    21.         static void Main(string[] args)
    22.         {
    23.             dog kiki;
    24.             kiki.name = "ki";
    25.             kiki.age = 2;
    26.             kiki.display();
    27.  
    28.  
    29.         }
    30.     }
    31. }
    Đã được chỉnh sửa lần cuối bởi megaboyvn : 02-08-2011 lúc 04:45 PM.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Class là khái niệm trừu tượng, không có thật.
    Object là một thể hiện (instance) của lớp -> bạn phải tạo ra thể hiện từ lớp.

    Ví dụ như bạn đang tưởng tượng về khái niệm xe ô tô chẳng hạn.
    Sẽ chẳng ai biết khái niệm xe ô tô đó thể hiện như thế nào như khi bạn tạo ra nó (hàm new) và mô tả nó có tính năng gì (properties - màu, số bánh xe, động cơ) và nó làm được cái gì (method - chạy, dừng, xi nhan)

    Trong đoạn code của bạn thì: dog là lớp nhé (khái niệm về một con chó nào đó), kiki là thể hiện (tức là một con chó có thật) -> bạn thiếu hàm kiki = new dog() -> tức là đẻ ra một con chó

  3. #3
    Ngày gia nhập
    10 2009
    Bài viết
    14

    Trích dẫn Nguyên bản được gửi bởi anhnt3 Xem bài viết
    Class là khái niệm trừu tượng, không có thật.
    Object là một thể hiện (instance) của lớp -> bạn phải tạo ra thể hiện từ lớp.

    Ví dụ như bạn đang tưởng tượng về khái niệm xe ô tô chẳng hạn.
    Sẽ chẳng ai biết khái niệm xe ô tô đó thể hiện như thế nào như khi bạn tạo ra nó (hàm new) và mô tả nó có tính năng gì (properties - màu, số bánh xe, động cơ) và nó làm được cái gì (method - chạy, dừng, xi nhan)

    Trong đoạn code của bạn thì: dog là lớp nhé (khái niệm về một con chó nào đó), kiki là thể hiện (tức là một con chó có thật) -> bạn thiếu hàm kiki = new dog() -> tức là đẻ ra một con chó
    Thế vậy, trong đó cái nào gọi là object ?
    em đang lẫn lộn giữa object và instance quá trời
    cám ơn anh

  4. #4
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    kiki vừa object kiki cũng là thể hiện của lớp chó

    Hai tên gọi khác nhau thôi mà bạn.
    Cũng giống như : bạn là một sinh viên, và bạn là con của ba mẹ bạn -> hơi khập khiễng một chút nhưng để bạn dễ tưởng tượng.

  5. #5
    Ngày gia nhập
    10 2009
    Bài viết
    14

    Trích dẫn Nguyên bản được gửi bởi anhnt3 Xem bài viết
    kiki vừa object kiki cũng là thể hiện của lớp chó

    Hai tên gọi khác nhau thôi mà bạn.
    Cũng giống như : bạn là một sinh viên, và bạn là con của ba mẹ bạn -> hơi khập khiễng một chút nhưng để bạn dễ tưởng tượng.
    anhnt3 lấy ví dụ khácđi, em vẫn chưa mường tượng ra ạ

  6. #6
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Mặc định Phân biệt CLASS - OBJECT - INSTANCE, trong đoạn code này, cái nào là intstance, object, class ?

    Trích dẫn Nguyên bản được gửi bởi megaboyvn Xem bài viết
    anhnt3 lấy ví dụ khácđi, em vẫn chưa mường tượng ra ạ
    Bạn tưởng tượng thế này.

    Có một chúng tộc người ngoài hành tinh mới khám phá ra trái đất.
    Họ đến Châu Á đầu tiên và thấy có 1 loại sinh vật có 4 chi, chi thẳng, hai mắt, cao khoảng 1m70. Loại sinh vật này biết đi lại, ăn uống, lái xe, và biết vào forum post bài.
    Họ sang Châu Phi cũng thấy lọai sinh vật tương tự nhưng chỉ khác màu da và tập quán.
    Tương tự họ đến các vùng khác cũng thế.

    Và họ nghiên cứu và gọi chung các sinh vật trên là CON NGƯỜI.

    Trong ví dụ trên:
    - mỗi con người cụ thể ở từng Châu Lục, có thể là tôi là bạn là mod của forum này là một ĐỐI TƯỢNG nghiên cưu của bọn người ngoài hành tinh
    - khái niệm CON NGƯỜI là khái niệm đã khái quát và trừu tượng hóa của một nhóm các ĐỐI TƯỢNG cụ thể trên (tôi, bạn, một bác Châu Phi nào đó)
    - để mô tả khái niệm CON NGƯỜI, họ (người ngoài hành tinh) mô tả bằng rằng CON NGƯỜI trông như thế nào (properties) và CON NGƯỜI làm được gì (method)
    - tôi, bạn, còn được gọi là THỂ HIỆN của khái niệm CON NGƯỜI, mỗi THỂ HIỆN này phân biét với nhau thông qua các đặc điểm khác nhau (propertis có giá giá trị khác nhau) và mỗi đối tượng có thể làm trò này hay trò khác tùy từng lúc (method)

    bạn yên tâm đi nhé thật ra khi mới học OOP thì các khái niệm này ai cũng lọ mọ cả thôi, Cứ làm dần bạn sẽ vỡ ra -> tớ cũng ra trường 2 năm mới thầm nhuần tư tưởng OOP.
    Đến khi thấm nhuần rồi thì sang Design Pattern mới là đỉnh cao của Software Design.

  7. #7
    Ngày gia nhập
    10 2009
    Bài viết
    14

    à à, vậy thì một thể hiện hay một đối tượng thì nó cũng đều như nhau cả , em hiểu ý pro rồi
    bro ở HN thì ae đi trà đá nhóe.
    cám ơn bro nhìu nhìu

  8. #8
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Trích dẫn Nguyên bản được gửi bởi megaboyvn Xem bài viết
    à à, vậy thì một thể hiện hay một đối tượng thì nó cũng đều như nhau cả , em hiểu ý pro rồi
    bro ở HN thì ae đi trà đá nhóe.
    cám ơn bro nhìu nhìu
    tớ có vài quyển và slide khá hay về OOP bên đại học bách khoa, nếu cần thì tớ sẽ share cho.
    còn vài khái niệm như đa hình, kế thừa ... bạn nên làm nhiều ví dụ sẽ dần vỡ ra nhé.

  9. #9
    Ngày gia nhập
    04 2011
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi anhnt3 Xem bài viết
    tớ có vài quyển và slide khá hay về OOP bên đại học bách khoa, nếu cần thì tớ sẽ share cho.
    còn vài khái niệm như đa hình, kế thừa ... bạn nên làm nhiều ví dụ sẽ dần vỡ ra nhé.
    cho mình xin link down được không bạn, vì mình ở đà nẵng nên chắc ko đi trà đá với bạn được, cí j ra đà nẵng mình mời bạn cà phê đá nhé

Các đề tài tương tự

  1. Trả lời: 69
    Bài viết cuối: 21-09-2017, 09:56 AM
  2. Trả lời: 9
    Bài viết cuối: 26-10-2013, 10:27 PM
  3. Kỹ thuật C++ Xác định 1 object là một instance of class như thế nào?
    Gửi bởi integer trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 21-10-2013, 03:28 PM
  4. Gọi đến 1 method trong class nhưng lỗi "Object reference not set to an instance of an object."
    Gửi bởi phudq90 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 15
    Bài viết cuối: 05-03-2012, 11:04 PM
  5. Socket Lỗi Object reference not set to an instance of an object. Lấy email sử dụng POP3 trong C#
    Gửi bởi kamikaze129 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 26-04-2011, 10:56 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn