Thứ Bảy, 6 tháng 6, 2015

Xin chào tất cả các bạn !
Trong bài viết hôm này mình sẽ gửi đến các bạn một bài phần tích để làm rõ khái niệm Interface và Abstract trong JAVA nói riêng và lập trình hướng đối tượng nói chung .
Bắt đầu nào :

Trước tiên chúng ta hãy cùng định nghĩa cái từ khó hiểu này :3
Interface : Một cách khó hiểu mà đại đa số các sách hay viết đó là “Lớp giao diện” … #@!#$#@%@%$ gì gì đó :3
Nhưng với mình thì Interface chỉ đởn giản như sau :
Các bản thử tưởng tượng , bạn là một người rất giàu có . Tài sản của bạn có đến 20 ngôi nhà. Và mỗi ngôi nhà của bạn lại thì lại có một chìa khóa riêng . Nếu bạn muốn vào bất kỳ một ngôi nhà nào trong 20 ngôi nhà thì phải nhớ chính xác chìa khóa của ngôi nhà đó…Điều này theo bạn nghĩ có gây khó khăn cho bạn ko ? Theo mình thì cũng không quá khó nhưng điều quan trọng là bạn sẽ ko thể tìm thấy ngay lập tức một chìa khóa cho ngôi nhà mà bạn cần vào. Vậy sao chúng ta không nghĩ đến một giải pháp hay hơn là làm một CHÌA KHÓA VẠN NĂNG mà chỉ cần mỗi chìa khóa đó có thể mở tất cả các ngôi nhà !
Đọc đến đây bạn hãy thử liên tưởng …
– Mỗi ngôi nhà là một class của bạn tạo ra
– Mỗi chìa khóa là một phương thức của mỗi class đó. Tất cả các method đều có chung nhiệm vụ là để mở khóa – tất nhiên là cách mở của môi ngôi nhà là khác nhau.
– Chiều khóa vạn năng là interface của bạn
Theo cách liên tưởng đó, bạn đã hiểu được phần nào chức năng của interface rồi đúng không nào ? Giờ hãy tiếp tục với một ví dụ thực tế hơn
Bạn có 1 interface
Public interface KeyPro {
public void key();
}

Bạn có 2 class sau đều implement interface KeyPro :
Public Class Home1 implements KeyPro{
public void key(){
// your code
}
}

Public Class Home2 implements KeyPro{
public void key(){
// your code
}
}

Sau khi đã khởi tạo interface và implement từ các class, công việc chúng ta bây giờ là xem nó hoạt động thế nào ?
– Giả sử bạn muốn vào Home1 thì thực hiện như sau :
public static void main (String[] args)
{
KeyPro key = new Home1(); // ( đồng nghĩa với việc : “Tôi muốn vào nhà 1″ )
key.key(); // ( đồng nghĩa với việc : “Sử dụng khóa vạn năng để vào ” )
}

– Giả sử bạn muốn vào Home2 thì thực hiện như sau :
public static void main (String[] args)
{
KeyPro key = new Home2(); // ( đồng nghĩa với việc : “Tôi muốn vào nhà 2″ )
key.key(); // ( đồng nghĩa với việc : “Sử dụng khóa vạn năng để vào ” )
}

Đến đây chắc các bạn đã hiểu hết ý nghĩa của interface rồi đúng không nào !
Hẹn gặp các bạn trong phần tiếp theo …

Related Posts:

  • 2.4. Ghi đè các phép toánCác bạn đã thấy là ngôn ngữ C++ cung cấp rất nhiều tính năng hữu ích nếu sử dụng 1 cách hợp lý.1 trong những tính năng đó là khả năng ghi đè (override) các phép toán mà chúng ta sẽ cùng tìm hiểu trong bài học này. Đ… Read More
  • Bài 1. Bạn đã biết cách tổ chức lưu trữ dữ liệu của một chương trình Java trên bộ nhớ máy tính?Để bắt đầu cho series này, tớ sẽ đi đến phần căn bản nhất, đó là cách mà một chương trình Java lưu trữ dữ liệu trên bộ nhớ máy tính.Khi một chương trình Java được thực thi, nó sẽ yêu cầu hệ điều hành cấp phát một không g… Read More
  • Giải thích các từ khóa trong Java thường gây khó hiểuChào tất cả mọi người !Trong bài viết hôm nay, mình sẽ giải thích với các bạn một số keywork ( từ khoá ) mà chúng ta thường gặp trong lập trình hướng đối tượng ( ở đây mình lấy ví dụ trong java ). Vậy chúng ta bắt đầu nhé :1.… Read More
  • Phân biệt Interface và abstract trong JavaXin chào tất cả các bạn !Trong bài viết hôm này mình sẽ gửi đến các bạn một bài phần tích để làm rõ khái niệm Interface và Abstract trong JAVA nói riêng và lập trình hướng đối tượng nói chung .Bắt đầu nào :Trước tiên chúng ta… Read More
  • 2.5. [Thực hành] Luyện tập OOP với PhanSoXTrong những bài học trước, chúng ta đã cùng tìm hiểu và làm việc với các lớp. Giờ chính là lúc các bạn đưa những kiến thức đã học được vào áp dụng trong thực tiễn qua một bài tập thực hành nhỏ.Đây là bài thực hành đầu tiên về… Read More

0 nhận xét:

Đăng nhận xét

Categories

Sample Text

Được tạo bởi Blogger.

Must Read

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Popular Posts

Video

Popular Posts

Our Facebook Page