ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
News
Php Tips
Android Programming
Design Pattern By PHP
C# using Linq น่าใช้จริงๆ
C# Tips & Technique
C# Design Pattern
Linux Quick Tips
Java & JavaScript Tips
Database & SQL
ZengCode Framework Guide
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     ประยุกต์การสร้าง object ตอนรันไทม์กับ polymorphism  (2010-03-17)

จากหัวข้อที่แล้วบางท่านอาจจะมองไม่ออกว่าจะเอาไปใช้งานอย่างไรได้ ผมก็มีตัวอย่างการประยุกต์ใช้ได้อย่างหนึ่ง (ที่คิดออกตอนนี้)
นั่นก็คือนำไปใช้กับ Class ต่างๆ ที่มีคุณสมบัติ polymorphism เพื่อไม่ให้ขาดตอน ลุยกันเลยครับ

 class Animal
    {
        public virtual String Say()
        {
            return "FooFooooooooooooo";
        }//
    }//

    class Dog : Animal
    {
        public override string Say()
        {
            return "Hong Hong";
        }
    }//

    class Cat : Animal
    {
        public override string Say()
        {
            return "Maew Maew";
        }
    }//


    class ObjectFactory
    {
        public object GetObject(String objName)
        {
            Assembly assembly = Assembly.GetExecutingAssembly();
            AssemblyName assemblyName = assembly.GetName();
            Type objType = assembly.GetType(assemblyName.Name + "."+objName);
            return Activator.CreateInstance(objType);
        }//
    }//


    class AnimalFactory
    {
        public Animal BuildAnimal(String animalType)
        {
            return (Animal)new ObjectFactory().GetObject(animalType);
        }//
    }//

 วิธีการเรียกใช้ก็ดังตัวอย่างข้างล่างนี้ครับ

           Animal animal = new AnimalFactory().BuildAnimal("Dog");

                                   MessageBox.Show(animal .Say());


                       animal   = new AnimalFactory().BuildAnimal("Cat");
           
                                   MessageBox.Show(animal .Say());

 ว้าว เยี่ยมไปเลย นำไปประยุกต์ใช้กันนะครับ นี่ผมก็มีโครงการว่าจะทำ Active Record ด้วย C# (เลียนแบบ Ruby) แต่อาจจะ
 เป็นตัวเล็กๆ คงมีโอกาสได้ใช้ก็โอกาสนี้ เพราะว่า object ต่างๆ มีความสัมพันธ์กันแบบ ไดนามิก ได้ตลอดเวลา ไว้ทำถึงไหนแล้วจะ
มาอัพเดทข่าวให้ฟังนะครับ คอยติดตามและเป็นกำลังใจให้กันนะครับ

ปล. แอบน้อยใจนิดนึงว่า มีคนเข้ามาดูบ้างหรือปล่า ไม่เห็นมี Comment บ้างเลยครับ


Comment

ZengCode  (22 มีนาคม 2553)   
IP : 124.122.149.219

http://www.boomsportshop.com/RV3000.zip โปรแกรมทบทวนศัพท์ภาษาอังกฤษ


Name
Comment
Security CodeCAPTCHA Image

easy tracking
avis car rental discount code

This page took 0.062091 seconds to load.