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)

                                                                                                                                                                   Ẻ���ͺ

                                                                                                                                 <<<back>>>


                                                            Coppyright 2004 By Webmaster All Right Reserved Comments

 

Hosted by www.Geocities.ws

1