• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

abstract base class in VB

Nơi trao đổi, hỏi đáp về hướng đối tượng (OOP - Object-Oriented Programming), không giới hạn về ngôn ngữ lập trình
lephuckhanh
Thành viên chính thức
Thành viên chính thức
Posts: 22
Joined: Fri 12/08/2011 2:01 pm

abstract base class in VB

Postby lephuckhanh » Fri 18/11/2011 2:02 pm

xin chào các bạn. bạn nào có các ví dụ về abstract class cho mình xin nhé.
chứ đọc tài liệu khó hiểu quá. mình muốn sử dụng nó cho việc đa kế thừa
xin cảm ơn!....



User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: abstract base class in VB

Postby vo_minhdat2007 » Fri 18/11/2011 3:27 pm

Abstract mình lấy ví dụ đơn giản thế này thôi là được. Giả sử ta có Interface IMyInterface như sau:

  1. public interface IMyInterface {
  2.  
  3.     public void doSomethingA();
  4.     public void doSomethingB();
  5.  
  6. }


Bây giờ bạn muốn tạo Class MyClassA và MyClassB, cả hai đều Implement interface IMyInterface, như vậy, trong mỗi class MyClassA và MyClassB, bạn đều phải viết thủ tục doSomethingAdoSomethingB. Nhưng nếu bạn muốn cả MyClassA và MyClassB đều có chung thủ tục doSomethingA giống nhau, chỉ khác nhau ở doSomethingB, thì lúc đó ta sẽ cần đến class Abstract:

[java]public abstract class MyAbstractClass implements IMyInterface{

public void doSomethingA() {
doWorkA();
}

}

public class MyClassA extends MyAbstractClass {

// Tại đây bạn buộc phải có thủ tục doSomethingB:
public void doSomethingB() {
doWorkBOfAClass;
}

}

public class MyClassB extends MyAbstractClass {

// Tại đây bạn buộc phải có thủ tục doSomethingB:
public void doSomethingB() {
doWorkBOfBClass;
}

}

[/java]

lephuckhanh
Thành viên chính thức
Thành viên chính thức
Posts: 22
Joined: Fri 12/08/2011 2:01 pm

Re: abstract base class in VB

Postby lephuckhanh » Sat 19/11/2011 11:22 am

cảm ơn bạn rất nhiều......


Return to “Lập trình hướng đối tượng (OOP)”

Who is online

Users browsing this forum: No registered users and 1 guest