abstract class
abstract class ��� class ����Сͺ���� method ˹�� method �����ҡ���� ����������ǹ�ͧ implement �ҡ�������¢ͧ abstract ������¶֧��觷���� ������� �Ѻ��ͧ����� ¡������ҧ�� class Shape ����Сͺ���� abstract class ��� method draw ���� method �����������ǹ implement ������º�������Ѻ������Ẻ���� ������ �Ҵ�ٻ ����觹���������Ҵ�������ö���� ���ͧ�ҡ����Һ�֧�ٻ�������ӡ���Ҵ ��������觷���ҤǺ�����÷ӧҹ�ç����� �� class circle ��� class rectangle �������ǹ�ͧ implement ����˹��ѡɳ�����Ըյ�ҧ� �ͧ����Ҵ �з���� abstract class (class Shape) ���ӧҹ��
�ѧࡵ��ҷ�� Circle ��� Rectangle ������ǹ���·��ӡ����ʹ�ѡɳ��Ҩҡ class Shape ������ص���� class Circle ��� class Rectangle �������ǹ implement ����Ѻ method Draw �����˵ء�ó�����觼�����Դ����������Ǣ�鹡Ѻ�к� ���ͧ�ҡ���ӵ����͡�˹��ͧ class Shape ��㹺ҧ�óշ�� class Circle �������ǹ implement ����Ѻ method Draw ������觼����µ���к����ͧ�ҡ�� subclass ��蹷���� implement ����Ѻ method Draw ��з�˹�ҷ���� subclass �ͧ��� class Circle ��� class Shape
class Shape ������ç���ҧẺ abstract class �������Ẻ���ҧ㹡�����ҧ Draw method ����Ѻ class ���� �ѧ��鹷��������ö��ػ��֧��ʹբͧ������ҧ abstract class �����к����� 2 �˵ؼ� �ѧ�����
1. abstract class �� class ������˹��س���ѵԷ���� 价�� subclass ��蹨����Ѻ�����ʹ�س���ѵԹ��
2.����ö�Ѵ�������ǹ����� implement ����� Subclass ����դ���ᵡ��ҧ�ѹ�� ���ͤ����дǡ�������ʹ���ͧ�Ѻ�ѡɳ��Тͧ class ���� �� ����ö��˹� class ����ҧ�ѹ�������ӧҹ����ҧ�ѹ���¤�������ǡѹ��
�����ԧ���Ǥ������¢ͧ abstract class ��� class ����� method ���ҧ���·���ش˹�� method ����� abstract (�������ǹ�ͧ implement) �� method ��鹨����¡��� abstract method ��� abstract method ��� �����¡���������ǹ��������ҧ��͵�ŧ�����ѡ��âͧ framework
abstract class ���������㨹�� �͡�ҡ�е�ͧ�����ҧ����˹�� abstract method ���� abstract class �ѧ����ö����ǹ�ͧ attribute ���ա���� ¡������ҧ�� �ٻ��ҧ����Ҵ��� Circle ���Rectangle �е�ͧ��˹�������ѡɳТͧ��㹡���Ҵ���� �ѧ��� class Shape�֧����� color attribute ��� setColor method ����� implement �������ö��ʹ�ѡɳ���ѧ Circle ��� Rectangle class ��
��������ç���ҧ������ͧ���Һҧ���� �� C++ ������§ abstract class ������ͧ���㹡�����ҧ��͵�ŧ�����ѡ�ͧ feamework ������� Java ��������ͧ������ǹ������ҧ��͵�ŧ��������ա˹����ǹ��� interface
Interface
Interface ������ç���ҧ object oriented programming ���ǹ�ͧ public interface �ͧ class ��㹺����С���Ƕ֧ interface ������ç���ҧ����Ẻ����ɢͧ Java �ѧ����Ժ�µ��� ��觷�� 2 �������¹���դ���ᵡ��ҧ�ѹ���ҧ�Ѵਹ
Java interface ���ç���ҧ��ǹ���������� Java ����������������� ����� ��㹷����Т͡���Ƕ֧���ͧ�ҡ Java �����ҷ�����ҧ���Ѻ�������� ��� Java interface ������ǹ�Ӥѭ㹡���͡Ẻ�к������ Java ��������� �� C++ ���������ǹ�ͧ interface ���ͧ�ҡ�ѡɳТͧ abstract class �������ö��˹�ҷ���� interface �� ������� Java ����բ�ͨӡѴ����ǡѺ�س���ѵԢͧ multiple inheritance ���������Ѻ���ʹѺʹع����� Java ���ͧ�ҡ���Ѳ������ Java ��͡����ա����§�����Ѻʹ����Ҩ���Դ�����ҡ multiple inheritance
�ѧ������� Java �֧���繵�ͧ�� interface ����ǹ������������ö���ҷ�᷹��âҴ�Ź�س���ѵ� multiple inheritance ���������ͧ������ҧ˹�觢ͧ������ҧ��͵�ŧ����Ѻ framework ���ç���ҧ�ͧ Interface ������Ƕ֧ ��������ѡɳТͧ class �ж������§��ǹ� ˹�觢ͧ�������ҹ�� ������ç���ҧ�������� interface������ǹ������¡Ѻ abstract class ����������ǹ�ͧ implement �������� interface ���� abstract method ��ҹ��
����ᵡ��ҧ�����ҧ abstract ��� interface
��� abstract class ��� interface ��鹨�����ѡ������ǡѹ��� ���� method ������к���ǹ�ͧ implement �����������´���Ѻ�����㹷���ͧ���������դ�����ҧ�ѹ�ѧ���
-abstract class �����ѡɳ��� class �� interface �������� class
-abstract class ����ö�� attribute ���� �Ҩ���� method ����Сͺ������ǹ implement �� �� interface�е�ͧ��Сͺ���� abstract method ��§���ҧ������ҹ�� ������ǹ�ͧ implement �����
����ᵡ��ҧ�����ҧ abstract class ��� Java interface ������ö��������¢�鹨ҡ������ҧ���仹��
�ҡ class Mammal ��ҧ�� ��觻�Сͺ仴��� implement �ͧmethod generateHeat ��� abstract method �ͧ makeNoise ��е��仨зӡ�����ҧ�����Ţ��������˹�� class ��� Head ������ѡɳ��� composition
������ҧ object ����� Java �������� 3 �Ըդ�� inheritance , interface ��� composition �١����鹻�Ш�᷹���� interface ��鹵ç����������������ҧ class ��᷹���� composition ��ǹ�١��Ẻ���Ԩ�᷹���� inheritance �·���������ѹ��������ٻẺ�����ǤԴ��ҧ�ѹ�ѧ���
-Dog is a Mammal �դ�������ѹ��Ẻ inheritance
-Dog implements Nameable �դ�������ѹ��Ẻ interface
-Dog has a Head �դ�������ѹ��Ẻ composition
�ҡ�ǤԴ�ѧ����Ǩо���� inheritance ��� interface ���դ�������¤�֧��ѡɳз���ʴ��֧��������ѹ�������ҧ����� ��е�ҧ�ѹ ��� inheritance ���դ�������ѹ��Ѻ class ���Ẻ is-a relationship ���� �� interface ���繤�������ѹ��Ẻ�觪�����ᵡ��ҧ
-Dog is a mammal �عѢ���ѵ������§�١���¹�
-Reptile is not mammal �ѵ�������¤�ҹ������ѵ������§�١���¹�
Inheritance �к͡��� ����� ��������㹡�������ǡѹ������� �� interface ������ѡɳз���ҧ�ѹ�ѧ���
-Dog is nameable �عѢ�繪������¡ (�ͧ�عѢ)
-Lizard is nameable �ѵ�������¤�ҹ�繪������¡ (�ͧ�ѵ�������¤�ҹ)
Interface �к觪��������С����ᵡ��ҧ�ѹ �Ҩ�е�ҧ�ѹ���ª��� �����Ţ ��� �� Dog ��� Lizard ���ѵ�� ����觷��͡����ᵡ��ҧ�ѹ ��� ���� ���¡ �·�� Dog ��� Lizard ���ͪ������¡ ����� Nameable (�������¡) ����ǹ�ͧ interface ��駤��
Nameable class ��� interface ����Ѻ object ��觪�����ᵡ��ҧ�����ҧ object ������ѡɳ����ǡѹ ����ͨشᵡ��ҧ�����ҧ����� abstract class ��� interface �·�� abstract class ��᷹�������ºҧ implement �� Mammal ����� method generateHead ( ) ����Сͺ���� implement �� interface ������§��ǹ�ͧ method ��ҹ�� ������ implement ����������ǹ�ͧ attribute
�͡�ҡ���ҡ�鴢ͧ����� ������ö���٨������ҷ�� interface ��� inheritance ���դ�������ѹ����ٻẺ�ͧ is-a relationship �����ǡѹ
������ҧ��͵�ŧ (Contract)
�ҡ������Һ���Ƕ֧��������´��Ф���ᵡ��ҧ�ͧ abstract ��� interface ���������ͧ���㹡�����ҧ contract ���ͧ�ҡ�������Ժ�� contract ��� ������ҧ method �������� implement ��ҹ�ҧ abstract class ���� interface �� class ������Ѻ����͡Ẻ�����ѹ�Ѻ contract ��鹨е�ͧ����ǹ�ͧ implement ����Ѻ method �������� implement ����
��ʹ���Т�͵�ŧ ��� �����ẺἹ������ҵðҹ���ǡѹ ��������ҧ� �������ѡ��ôѧ���
1. ��������к��� class �ӹǹ�ҡ ����ѧࡵ��� class �����������к�������ѡɳоĵԡ��� ��� �����ѹ��� �����㴷������ö�觪����֧����ᵡ��ҧ�����ҧ class ��ҧ� ���
2.�Ԩ�óҤ�������ѹ��ͧ class ���� ��������� ����դ�������ѹ����ѡɳТͧ abstract class ���� interface ���� composition
-㹡�����ҧ interface ����� class ��������ͧ����ǹ�ͧ Nameable interface ������ͧ������ͺ觪�����ᵡ��ҧ�����ҧ class ��觼����ҹ����ö����§ interface ����᷹��è� interface �ͧ class ������ ���ͧ�ҡ�ء class ����ẺἹ���ǡѹ
������ҧ������ҧ��áԨ�� internet
㹵�����ҧ�����ʴ������繶֧��������ö㹡�÷ӧҹ�ͧ framework �¡����س���ѵ� inheritance , abstract , interface ��� composition ���ըش���������ѡ��� ����ª������ҡ framework �����������ö���鴡�Ѻ�������� (code reuse) �� Ŵ����㹡����¹����� �Ҵ����㹡�û�Ѻ��ا����к�������ѧ ���
������ҧ�� ��÷Ӹ�áԨ��ҹ Pizza �� internet ������ҹ P Pizza �¹�º�¢ͧ�ҧ��ҹ��ͧ�������١�����Ҷ֧ web site �ͧ�ҧ��ҹ�� �������駾������ŷ������ǡѺ Pizza ��ҧ� ����١�������ö����� Pizza ���¼�ҹ web �ͧ�ҧ��ҹ P Pizza
��駹���١��ҵ�ͧ����ö���͡��¡������÷��ǡ�Ҫͺ�� ����ö��˹�����㹡��������ö֧��ҹ�� ��������������ǧ˹�����ͷҹ�����ҹ P Pizza ���� �ҡ��÷Ӹ�áԨ�� internet ������ҧ�����дǡ������١��������ҧ�ҡ ���ͧ�ҡ�١��Ҩ�����ö����������ҡ���ӧҹ�¼�ҹ�ҧ internet ���������觷���ҹ㹵��� �����ͧ�ͧ��è����Թ �١�������ö�����繺ѵ��ôԵ �����Թʴ ���������١��ҷӡ���������� �������駵�ŧ���º���������١��Ҩ����Ѻ e-mail �����駡����ѹ�ҡ�ҧ��ҹ�ա���� �͡�ҡ�������Ѻ�١��ҷ����§�������Ҫ� web site �ͧ�ҧ��ҹ ������Һ��������¡������� Pizza ��Դ����� ������¡������êش�����Ѵ �����¡�õ�ҧ� ������ҹ
��������������Ң�ҧ�鹤����觷����ҹ P Pizza ��ͧ�������պ� web site ������к��� internet �ͧ��ҹ P Pizza �������º�������� �����������ѧ��ҹ���ⴹѷ���� D Donut ��ͧ��þѲ�ҡ�â�º� internet ��ҧ ����к��ҹ�·���仢ͧ��ҹ D Donut �Ф����� �Ѻ��ҹ P Pizza �� ����¡��������ʴ� , �ա�èѴ�觶֧��ҹ , ��ê����Թ��ҹ internet ���
�ѧ���㹡�þѲ���к���ҹ D Donut �Ч����ҡ��ͼ��ӡ�þѲ�� �������ö���鴨ҡ��ҹ P Pizza ����Ѻ��ҹ D Donut�� �͡�ҡ����������к���ҹ����÷�����к���÷ӧҹ��ѡɳ������§�ѹ������ö�Ӣ�ʹըҡ framework �ͧ��ҹ P Pizza ����������ǡѹ ��駹���Ҥҷ��е�ͧ�����㹡�þѲ�ҹ�к���ж١ŧŴ����㹡�÷��ͺ���ͧ�ҡ�к�������Ѻ��÷��ͺ�����Ǩҡ��÷ӧҹ�ͧ��ҹ P Pizza ��㹡����������������к��ͧ��ҹ���� ������ö��������ҡ�ѡ
����������� Reuse
�������ǤԴ�ͧ��� reuse ��������ʺ��������稴ѧ���
-���Ѳ���к������Ԩ�óҶ֧�Ըա�� reuse 㹡��������Ѳ���к�������á
-��� reuse ���繡���Ѵ�ӴѺ��鹵��ҧ� �ҡ��ѡ�����¹���������� �
�����ѭ�Ңͧ E-Business
�ٻẺ����ͧ Web Application ������ǹ�ͧ interface ��� abstract ��������㹡���͡Ẻ�ͧ�к���ҹ��ҷ�� P Pizza ��� D Donut ����ö��ػ��ѧ���
-�� Interface ������� Nameable ����ǹ�ͧ contract
-�� abstract class ������� Shop ����ǹ�ͧ contract
-�� class ���� CustList ����ǹ�ͧ composition
-�� class �������ǹ implement �ͧ class Shop (�� abstract class) ���㹷������ DonutShop ��� PizzaqShop
�ٻẺ�ͧ UML object
������ҧ Shop class ����� getInventory ��� buyInventory �� method ���� Shop class (abstract class) ����� subclass ��� DonutShop ��� PizzaShop �ҡ����͡Ẻ�к��Ẻ���Ч����ҡ����͵�ͧ������� class �ͧ�١����������к� ����� class �ͧ�١�������ǹ implement �ͧ Shop class �·���� Shop class �������ǹ�ͧ��͵�ŧ ���� framework ��� class ����������������ǹ implement ��ҧ� �е�ͧ�ӵ����
㹵����� class �ӹǹ�ҡ������к� ����� class ��ѡ��� class Shop �͡�ҡ�����ѧ�� class PizzaShop, class DonutShop ��ҡ������ҧ������� class �� ��к����зӡ���������͡Ѻ class ��蹷ء class �͡�ҡ class Contract �������ö���蹹���� ��� class Shop
class Contract ���� class ������� �·�� class contract ������ǹ�������ԡ�� interface �� class ����� subclass (DonutShop ��� PizzaShop)
Coppyright 2004 By Webmaster All Right Reserved Comments