Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

Thắc mắc Interface trong Java

Discussion in 'Xây dựng ứng dụng chạy console, applet' started by Doan_Chi_Binh, 8/7/11.

  1. van.duc0409

    van.duc0409 Member

    Ðề: Thắc mắc Interface trong Java

    Thank bạn này. Bạn nói khá dễ hiểu. Mình cũng mới tập tọe vào java nên giải thích đơn giản như thế này mới hiểu đc;;);;)
     
  2. piavgh

    piavgh New Member

    Mình cũng mới bắt đầu tự tìm hiểu về Java (trước mới học C), đọc sách cũng có y hệt cái ví dụ của chủ thớt và cũng thắc mắc y hệt chủ thớt luôn, search google thì ra link này
    Đọc ví dụ của bạn nongdan thì cũng ngờ ngợ (vì lý thuyết đã học tính đa hình của Java ở phần trước) rồi sau khi đọc post của javafreak thì mình đã hiểu ra Interface là ứng dụng của tính đa hình trong Java. Cùng một tên phương thức nhưng có thể sử dụng cho các đối tượng của rất nhiều Class khác nhau

    Cảm ơn 2 bạn nhé, nếu mình hiểu còn sai hoặc thiếu sót điều gì mong 2 bạn chỉ giáo thêm :)
     
  3. qchien14

    qchien14 New Member

    Bài viết của 2 bạn nongdan và javafreak đã giúp mình rất nhiều.
    Nhân tiện cho mình hỏi luôn một vấn đề
    1. Interface có thể đưa vào các thuộc tính không
    2. Nếu có thì như trong đa kế thừa thì lớp con sẽ nhận được tất cả các thuộc tính của lớp cha nếu bây giờ mình cần implements nhiều Interface có thể có các thuộc tính của các Interface đó không
     
  4. nong_dan

    nong_dan Active Member

    Mình thích các đào sâu suy nghĩ của bạn nhưng trước khi mình trả lời mình muốn nhắc bạn một chú. Bạn luôn có hai người "bạn" lớn :
    + google: mọi thứ thuộc về cơ bản thì bạn nên hỏi bạn ý trước khi đặt câu hỏi.
    + bộ compiler: theo kinh nghiệm của các tiền bối trong giới lập trình thì muốn giỏi phải đào sâu suy nghĩ tự đặt các câu hỏi liên quan tới src (cái này bạn đã có ) và luôn thay đổi SRC tối ưu và chạy thử nó(cái này bạn chưa có ^^). Tại sao bạn ko thử viết luôn 1 Interface cho nó một thuộc tính, chạy nó xem nó làm gì??

    Còn đây là câu trả lời của bạn:
    1) Interface cũng CÓ thuộc tính nhưng tất cả các thuộc tính tự động có dạng final static.
    2) nó sẽ nhận hết, tức nhiên rồi why not ^^.
     
  5. ledaitudk

    ledaitudk New Member

    Cãi nhau làm gì làm bài này đi rồi hiểu....
    Lưu ý: Không được sửa code PaintApp Có thể tưởng tượng code PainApp các Bạn code, còn những vấn để khác do một hay nhiều khác code... miễn sao ngta có thể xuất ra theo ý.
    5. Khai bao lop PaintApp voi hanh vi drawLine cho phep lap trinh vien moi xuat ra thong tin bat ky mau muc dang duoc ve ma khong thay doi code lop PaintApp
    vi du : PainApp app = new PainApp();
    app.drawLine() -> xuat ra chuoi ma lap trinh vien X muon xuat tren man hinh
    note: lap trinh vien X ko phai la nguoi tao ra lop PainApp
     
  6. Dapruoi

    Dapruoi New Member

    đọc qua mấy thread trên về mình thấy ý nghĩa của interface nó chỉ mang tính trừu tượng và khái quát hóa vấn đề , không cần quan tâm đến chi tiết vấn đề đó sẽ được giải quyết như thế nào mà chỉ quan tâm đến việc sẽ có những vấn đề gì phải ko ạ , vậy thì chắc là nó sẽ được dùng nhiều trong quá quá trình phân tích và thiết kế đối tượng để phác thảo ra 1 bản thiết kế tổng quát
     
  7. Joe

    Joe Thành viên VIP

    Interface has 2 meanings or functions in JAVA
    1) it's used to define a bridge to another object (or class)
    2) it's the backdoor to circumvent the Single Inheritance.
    Example:
    1) All Listeners are interfaces: Actionistener, ItemListener, etc. These listeners are the bridges to different objects or classes which have some predefined methods to be implemented according to specific needs.
    2) JAVA object is by definition an extension of object Object. And it's the paradigm of Single Inheritance. Therefore JAVA objects (other than Object) can be only derided only by ONE other object. If a JAVA object needs to be "extended" more than one objects it must go "interface" in order to circumvent the restriction of Single Inheritance. Example
    PHP:
    public class MyFrame extends JFrame implements ActionListenerKeyListenerItemListener {
       ...
    }
    As you see MyFrame is a child of JFrame BUT it sneaks out the backdoor and goes into liaison with 3 other objects ActionListener, KeyListener, ItemListener...which are bound to some EventObject. E.g. ActionEvent, ItemEvent, KeyEvent...
    GOT IT?
     
  8. Đông Vũ

    Đông Vũ New Member

    Nếu bạn viết trong lớp con thì có thể bạn sẽ Viết lại rất nhiều lần.
    VD: có lớp animal là cha của lớp Cat & Dog. trong lớp animal có phương thức sayHello(). lớp Cat kế thừa phương thức sayHello() và in ra "mèo kêu meo meo". Chó kế thừa và in ra "chó sủa gâu gâu". Tất cả chỉ việc override chứ ko ai rãnh ngồi viết tay từng lớp đâu :D
     
  9. D.A.N_3002

    D.A.N_3002 Active Member

    Cái này lâu rồi mà, đào lên làm j nx @@
     

Chia sẻ trang này

Loading...