Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Trong Objective C có Abstract class và Reflection hay không ?

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

    Question Trong Objective C có Abstract class và Reflection hay không ?

    Hi all !
    Em là người đang bắt đầu tìm hiểu về Obj C , và không biết trong ObjC có Abstract Class và Reflection hay ko ? Em cũng đã có đọc 1 vài tài liệu thì thấy bảo Abstract class thì ko có , chỉ có thể giả lập 1 abstract class . Vậy có đúng hay ko .
    Còn về Reflection thì em cũng chưa rõ nó có trong ObjC hay ko và nó ntn . Anh chị nào biết thì giúp em với ậ . Nếu được thì mọi ng cho em ví dụ về nó thì càng tốt ạ . Thanks a lot .

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Abstract class là khái niệm trong lập trình hướng đối tượng, vì thế nếu bạn hỏi Objective-C có Abstract class thì câu trả lời là: Có, giống như cách thể hiện ở C++.

    Trong Objective-C có hỗ trợ Reflection thông qua NSObject class. NSObject giống với Object trong Java hoặc C#. Ví dụ bạn gọi method [self class] sẽ trả về thông tin của một object mà bạn đang xử lý.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    08 2011
    Bài viết
    117

    Theo tớ thì không có cách nào để tạo ra 1 Abstract class trong Objective-C trừ khi sử dụng thêm exception.

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Có thể sử dụng "return nil" hoặc empty implementation được mà. Chỉ khác Java là nếu không implement thì nó không báo lỗi hay warning gì thôi.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi CIMinuv Xem bài viết
    Theo tớ thì không có cách nào để tạo ra 1 Abstract class trong Objective-C trừ khi sử dụng thêm exception.
    Có thể sử dụng "return nil" hoặc empty implementation được mà. Chỉ khác Java là nếu không implement thì nó không báo lỗi hay warning gì thôi.
    Vậy là vẫn chưa có câu trả lời cuối cùng cho em Abstract Class và Reflection trong Objective-C sao .
    Thật sự là em cũng đã google nhiều về cái Abstract class nhưng cũng chỉ thấy ng thì bảo có , ng thì bảo ko và có thì cũng chỉ là cố gắng tạo ra cho giống , chứ ko fai khái niệm chính thống như bên C# hay Java . haizz

  6. #6
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Mặc định Trong Objective C có Abstract class và Reflection hay không ?

    Objective-C không có Abstract class như C# hay Java, nó không hỗ trợ đối với Abstract class. Objective-C chỉ được phổ biến khi các dòng sản phẩm của Apple chiếm lĩnh thị trường. Objective-C được đánh giá là Complex mà...
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  7. #7
    Ngày gia nhập
    08 2010
    Bài viết
    17

    Mình thấy dùng 1 lớp với cài đặt các hàm rỗng, ko làm gì cả thì cũng là abstract class rồi mà? :-/ các lớp kế thừa phụ trách override các phương thức đó cho phù hợp.

    Reflection thì nghe nói objc mạnh hơn java, vì objc là ngôn ngữ dynamic hơn, thậm chí trong lúc chạy mình có thể tìm hiểu lớp nào đó có cài đặt phương thức mình cần gọi ko, lớp có thỏa mãn 1 protocol nào đó ko, hay lấy về địa chỉ nơi cài đặt một phương thức bấy kỳ.

  8. #8
    Ngày gia nhập
    04 2010
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang Xem bài viết
    Objective-C không có Abstract class như C# hay Java, nó không hỗ trợ đối với Abstract class. Objective-C chỉ được phổ biến khi các dòng sản phẩm của Apple chiếm lĩnh thị trường. Objective-C được đánh giá là Complex mà...
    Vâng , thanks a về vấn đề Abstract Class này .

    Trong Objective-C có hỗ trợ Reflection thông qua NSObject class. NSObject giống với Object trong Java hoặc C#. Ví dụ bạn gọi method [self class] sẽ trả về thông tin của một object mà bạn đang xử lý.
    Còn về cái vấn đề Reflection này thì anh có thể cho em thêm chút thông tin về nó được không anh , em cũng đã tìm hiểu về Ref trong Obj-C và cũng đã mất kha khá time nhưng vẫn còn rất mơ hồ , nếu được anh có thể cho em một vài khái niệm về Ref in Obj-C và code sample đc ko anh . Nếu được em rất cảm ơn anh .

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

    Trích dẫn Nguyên bản được gửi bởi miaxanhvn Xem bài viết
    Mình thấy dùng 1 lớp với cài đặt các hàm rỗng, ko làm gì cả thì cũng là abstract class rồi mà? :-/ các lớp kế thừa phụ trách override các phương thức đó cho phù hợp.

    Reflection thì nghe nói objc mạnh hơn java, vì objc là ngôn ngữ dynamic hơn, thậm chí trong lúc chạy mình có thể tìm hiểu lớp nào đó có cài đặt phương thức mình cần gọi ko, lớp có thỏa mãn 1 protocol nào đó ko, hay lấy về địa chỉ nơi cài đặt một phương thức bấy kỳ.
    Vậy nếu class con bạn không override tất cả các message ?? nó còn ý nghĩa của abstract class không ?

  10. #10
    Ngày gia nhập
    04 2010
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi miaxanhvn Xem bài viết
    Mình thấy dùng 1 lớp với cài đặt các hàm rỗng, ko làm gì cả thì cũng là abstract class rồi mà? :-/ các lớp kế thừa phụ trách override các phương thức đó cho phù hợp.
    Em ko dám khẳng định nhưng theo em nghĩ , ý anh nói ở trên thì thằng Obj-C nó xem như class đó là 1 Interface (.h) , còn cái override kia thì là class implement (.m) . Chứ hình như nó ko có khái niệm Abstract Class thật .

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

  1. Cách sử dụng đối tượng trong Abstract class trong C#?
    Gửi bởi chickscode trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 24-10-2013, 12:20 PM
  2. Abstract class khác với class thường ở chổ nào
    Gửi bởi nhan_t3 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 3
    Bài viết cuối: 27-05-2013, 01:18 AM
  3. Các hàm và class tương ứng giữa Java và Objective-C?
    Gửi bởi tinhcau trong diễn đàn Thắc mắc lập trình Objective-C
    Trả lời: 1
    Bài viết cuối: 17-03-2013, 07:01 PM
  4. Viết Plugin Đọc các loại File trong C# Dùng Inhetrite Interface, Abstract, hay Class
    Gửi bởi buidinhba5 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 11-07-2009, 04:27 PM
  5. Abstract class Vs Interface! Help me!
    Gửi bởi kids trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 16
    Bài viết cuối: 11-11-2008, 05:37 PM

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