Sự khác nhau giữa Class và Object ???

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi Love of Devil, 13/6/07.

  1. Love of Devil

    Love of Devil Youtube Master Race

    Tham gia ngày:
    12/11/06
    Bài viết:
    57
    Học java đc gần 2 tháng, vẫn băn khoăn hông biết class và object khác nhau điểm nào ??? Ko biết có bác nào hiểu rõ về java giải thích hộ
     
  2. satthugiaumat1986

    satthugiaumat1986 C O N T R A

    Tham gia ngày:
    25/9/02
    Bài viết:
    1,506
    Nơi ở:
    The Hell
    Học 2 tháng rồi mà khái niệm này vẫn chưa rõ à ... tớ ... cũng thế :D

    Bác cứ tưởng tượng thế này , Class là cái gì đó trừu tượng , ví dụ như bác nói con người ,đó là 1 class , còn bác nói anh A , anh B , thì đó là 1 Object . Vd khác như Class Car , thì Object của nó là Merc , BMW chẳng hạn , Car là nói chung chung về tất cả các loại xe , còn Merc , BMW là Object , ngoài ra có thể gán Class Merc , rồi Object là Merc Model mấy đó :D
     
  3. canh en buon

    canh en buon Youtube Master Race

    Tham gia ngày:
    20/5/07
    Bài viết:
    84
    Nơi ở:
    Thành phố buồn
    Ở trên bạn @satthugiaumat1986 đã giải thích rất đúng. Nhưng mình muốn bổ sung thêm 1 tí:
    + Ta có thể hiểu Class (lớp) như là 1 tập hợp những object (đối tượng) có những thuộc tính (thành phần dữ liệu) và hành vi (chức năng) như nhau.
    + Trong phạm vi lập trình ta có thể coi Class như là 1 kiểu dữ liệu do người dùng định nghĩa (thực ra ý tưởng này đã có trong lập trình cấu trúc như kiểu record chẳng hạn nhưng nó được mở rộng hơn trong lập trình hướng đôi tượng)

    Ví dụ:
    int, real, char,...:là kiểu dữ liệu có sẵn
    enum, record, class, union,...:là kiểu dữ liệu do người dùng định nghĩa
    class cat{
    private:
    //thuộc tính
    public:
    //phương thức
    end;

    cat mycat = new cat;
    cat yourcat = new cat;
    // mycat, yourcat là đối tượng thuộc lớp cat
     
  4. Solokop

    Solokop Mr & Ms Pac-Man

    Tham gia ngày:
    2/12/05
    Bài viết:
    219
    Mấy pa này học hành kiến thức lộn xộn hết rồi. Class và Object có liên quan đến nhau và cụ thể có thể tóm lại như sau:

    - Ta định nghĩa class để phát sinh hay tạo ra object. Trừu tượng hóa la class là khuôn đúc bánh còn object là cái bánh. :D
     
  5. Brianlam

    Brianlam T.E.T.Я.I.S

    Tham gia ngày:
    14/7/04
    Bài viết:
    526
    :D , sặc mùi ăn uống quá ba ơi , hiểu như sát thủ và cánh én cộng lại là đủ rồi , hehe
     
  6. Xenogear

    Xenogear The Last of Us

    Tham gia ngày:
    16/6/03
    Bài viết:
    22,838
    Nơi ở:
    Sealeap Zack
    định nghĩa này sai rồi, đây là định nghĩa của polymorphism với hierachy chứ k0 phải class và object
    còn hiểu nôm na class là 1 cái khuôn, object là sản phẩm, các parameter là vật liệu :\
     
  7. PhiLongXP

    PhiLongXP Youtube Master Race

    Tham gia ngày:
    21/1/07
    Bài viết:
    82
    Nơi ở:
    Crystal World
    Cũng không hẳn là sai đâu...tùy cách hiểu của mổi người thôi.
    Class là nhưng cái gì trừu tượng...còn object là thực thể, hiện thực của một class nào đó. Còn polymorphism với hierachy là định nghĩa mở rộng của Class và tính kế thừa...
     
  8. Xenogear

    Xenogear The Last of Us

    Tham gia ngày:
    16/6/03
    Bài viết:
    22,838
    Nơi ở:
    Sealeap Zack
    thế xe với hãng xe có trừu tượng với thực thể k0 :-/
     
  9. PhiLongXP

    PhiLongXP Youtube Master Race

    Tham gia ngày:
    21/1/07
    Bài viết:
    82
    Nơi ở:
    Crystal World
    uh thì tùy suy nghĩ mà...:D
    Merc của ông kia, có thể ý ổng nói là chiếc xe mang hiệu Merc chứ không phải tên hãng xe :>.
    Còn nếu là hãng xe thì bản thân không phải thực thể...nó là Class con của Class xe... ;;).
     
  10. satthugiaumat1986

    satthugiaumat1986 C O N T R A

    Tham gia ngày:
    25/9/02
    Bài viết:
    1,506
    Nơi ở:
    The Hell
    Sai mới lạ , xem lại cái lý thuyết OOP dùm tớ , hay tớ học lý thuyết sách nước ngoài nó khác VN nhở :o
     
  11. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Giải thích như satthu là đúng rồi. Polymorphism (tính đa hình) liên quan đến method trùng tên.

    Merc, BMW là giá trị của property, có thể là hãng sản xuất, của object.
     
  12. Xenogear

    Xenogear The Last of Us

    Tham gia ngày:
    16/6/03
    Bài viết:
    22,838
    Nơi ở:
    Sealeap Zack
    http://java.sun.com/docs/books/tutorial/java/concepts/class.html
    class chính xác là bản thiết kế, cái khuân mẫu mới đúng, chứ k0 thể gọi nôm na là hãng xe được, khác nhau cơ bản, lấy từ trang chủ của java ra đấy :\ tiếng nước lào hay tiếng việt nó chả dạy như nhau, có chuẩn hết rồi
    polymorphism liên quan đến class mẹ, class con, method trong class con ghi đè các method của class mẹ, cái này gọi là overriding
    chứ đơn giản các method trùng tên nhau nhưng khác parameters thôi thì gọi là overloading
     
  13. Maya4VR

    Maya4VR T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    626
    Nơi ở:
    Thành phố của bạn
    Anh em với nhau đọc sách tiếng Anh ra hết ấy mà ::). Class ở đấy đúng như Xeno nói là một bản thiết kế, khuôn mẫu, nhưng chưa chính xác. Nói class là một tập hợp các object có hành vi và chức năng giống nhau cũng sai nốt =((.
    Theo sách mà tớ từng đọc + kinh nghiệm của tớ thì class là tập hợp các định nghĩa về hành vi và chức năng của một thực thể dưới góc nhìn trừu tượng hóa (tức là tập hợp các định nghĩa về hành vi và chức năng đó có thể không mô tả đầy đủ về thực thể đang được nhắc đến).
    Thật ra mấy cái đống củ bựa này thì khi nào làm việc thực tế mới thấy và hiểu được sự khác nhau chứ có nói + giải thích cả ngày cũng chả hiểu được đâu mà 8-}.
     
  14. Xenogear

    Xenogear The Last of Us

    Tham gia ngày:
    16/6/03
    Bài viết:
    22,838
    Nơi ở:
    Sealeap Zack
    thì cái khuân có bao giờ mô tả đầy đủ được cái sản phẩm đâu mày :\
    mày cứ phải phức tạp hóa vấn đề :))
     
  15. satthugiaumat1986

    satthugiaumat1986 C O N T R A

    Tham gia ngày:
    25/9/02
    Bài viết:
    1,506
    Nơi ở:
    The Hell
    Ku này nhầm nhọt sang trông trọt rồi , nên nhớ đa hình trừu tượng hay kế thừa đều nói về OO cả nhé , tất cả mí cái đó đều nói về Class và Object hay cái quái gì đó thì kệ , nhưng tớ đang giải thích thế nào là Class thế nào là Object chứ ko phải nói nó là cái nào trong OO nhé =.=
     
  16. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Trùng tên kiểu như class động vật rồi có class lợn và mèo kế thừa nó. Rồi class lợn và mèo đều có method kêu kế thừa. Mình viết lợn kêu 1 kiểu mèo kêu 1 kiểu ý.
     
  17. Brianlam

    Brianlam T.E.T.Я.I.S

    Tham gia ngày:
    14/7/04
    Bài viết:
    526
    Cải nhau ỏm tỏi cả lên , giải thích đơn giản tí là như trên là xong rồi mà , để cho bạn hỏi ko biết gì rồi càng rối thêm , bạn love ơi , cứ code nhiều nhiều vào rồi sẽ hiểu rõ ngay thôi
     
  18. Xenogear

    Xenogear The Last of Us

    Tham gia ngày:
    16/6/03
    Bài viết:
    22,838
    Nơi ở:
    Sealeap Zack
    cóc biết thằng nào nhầm nhá
    cái ví dụ xe hơi vào các loại xe là cái ví dụ điển hình cho polymorphism, bình thường để lấy ví dụ cho class với object chả ai người ta lấy ví dụ như thế cả =))
    sai mở mắt ra mà nhìn để còn sửa chứ cố mà háo thắng cãi đến cùng chả đi đến đâu đâu
    thế nhá ;;)
     
  19. bullno1

    bullno1 Mr & Ms Pac-Man

    Tham gia ngày:
    22/4/06
    Bài viết:
    221
    Cái này là factory roài :D
    Ví dụ đơn giản này:
    Người yêu là class
    Người yêu mày là object, người yêu tao là một object khác :)), Class Người yêu extends class gái

    Có gì đâu mà hổng hiểu
     
  20. satthugiaumat1986

    satthugiaumat1986 C O N T R A

    Tham gia ngày:
    25/9/02
    Bài viết:
    1,506
    Nơi ở:
    The Hell
    Chưa có ai ko có nghĩa là ko thể nhá , có thằng nào bảo dùng cái vd này để mô tả cái này rồi thì mày dek dc dùng nó để mô tả cái khác ko . cãi với ku này mệt quá , miễn mình biết mình làm dc thì thôi :-"
     

Chia sẻ trang này