Create Project Part3 : Factory Methods Pattern By Java on IntelliJ IDEA

Tawan_Ait
4 min readAug 15, 2019

--

เป็นเหมือนคังเก็บของที่มีรูปแบบเหมือนกัน ครั้งนี้เราจะมาทำ Factory ของรถยนต์ TOYOTA ข่ายรถยนต์ของเรา [https://www.toyota.co.th/index.php] ว่ามีรุ่นอะไรบ้าง ราคาเท่าไหร่ . นี่คือสิ่งที่รถแต่ละคันมีเหมือนกัน คือรูปแบบของรุ่น ราคา งั้นมันก็เข้าทาง Factory ของเราอย่างจังเลย เรามาเริ่มต้นกันเลยเนอะ

Step1. Open Program IntelliJ > Create New Project

Step2. Selecte : Gradle > Java > Next

Step3. GroupId : com.easy หรือองค์กร บริษัท, ArtifactId : factory หรือ ProjectName > Next

Step4. Click : Next เอาตามนั้นเลย

Step5. เลือก Folder ที่จะเก็บ Click: ที่จุดสามจุด “…” แล้วสร้าง folder ที่จะเก็บงานไว้ Create > Finish และรอให้ Gradle Build ให้เราเอง

Step6. เมื่อ Gradle Build เสร็จเราก็จะได้หน้าตามาเป็นแบบนี้สวยอย่าบอกใคร แบบใจเราจะไปอยู่ที่หนใดได้เล่าเจ้าเอยยย . ต่อไปทำการคลิกที่ factory > src > main > java จะเห็นดังนี้

Step7. Create Package โดยคลิกขวาที่ java > New > Package : com.easy > OK “ชื่อของ Package แล้วแต่จะตั้งน่ะ เราอันนี้เราเอาชื่อเว็บเรา มันชื่อว่า easy”

Class "Name" : ให้ขึ้นต้นด้วยตัวใหญ่ และคำขึ้นต้นในแต่ละคำ
Package "Name" : ให้เป็นตัวเล็กทั้งหมด

Step8. Create Java Class Main ที่อยู่ข้างใน java โดยคลิกขวาที่ java > new >Java Class > Name: Main > OK . เพื่อเอาไว้ Run Program ทั้งหมด

Step9. Create Package toyota โดยคลิกขวาที่ java > New > Package : com.easy.toyota > OK

Step10. Create Java Class : Gens เพื่อมารองรับการสืบทอดจากแต่ละรุ่นของรถ TOYOTA ทั้งหมด โดยการ คลิกขวาที่ com.easy.toyota > New > Java Class > Name : Gens > OK “สังเกตว่าตอนแรกจะพัง พอสร้างตัวสือทอดเสร็จแล้วจะหายพัง”

กรณีที่ใช้ abstract เมื่อไม่ทราบละเอียดที่ชัดเจน

Step11. Create Java Class Gen of TOYOTA โดยการคลิกขวา com.easy.toyota > New > Java Class > Name: Gen toyota > OK และสร้างให้คบทุกรุ่น

กรณีที่ใช้ extends ตามด้วยชื่อ class ที่อยากจะให้สืบทอด

และนี่คือทั้งหมดที่เรา Java Class ของรุ่นแต่ละรุ่น และทำการสืบทอดเรียบร้อย แต่ตอนนี้ยังไม่มีค่าอะไรให้แสดงออกไป

Step12. Create Package : GenToyota โดยการคลิกขวาที่ com.easy.toyota > New > Java Class > Name : GenToyota > OK และ เปลี่ยนจาก class เป็น enum แทนที่ ภาย object ก็จะมีชื่อรุ่นของรถ โดยใช้เป็นตัวพิมพ์ใหญ่ทั้งหมด

กรณีที่ใช้ enum เพราะว่าเราทราบข้อมูลที่แน่นอนว่ามี ชื่ออะไรบ้าง

จัดการเอารถทุกรุ่นมาเก็บไว้ที่ enum เรียบร้อย

Step13. Create Java Class : GenFactory โดยการคลิกขวาที่ com.easy.toyota >New > Java Class > Name : GenFactory เพื่อที่จะเก็บทั้งหมดไว้ที่นี้ ในคังของเรา : GenFactory

Step14. หลังจากที่เราประกาศใช้ abstract double price() ทุกอย่างพัง พังหมด

public abstract double price() ;

Step15. เราจะทำการแก้ไขนางให้ให้ใช้งานได้ โดยการคลิกที่ Gens แล้ววว กด Option + Enter จะขึ้นหน้าต่างมาให้ แล้วเลือก Implement Methods > price():double > OK

และนี่ก็จะไม่พังแล้วจ้าาาา สามารถใช้งานได้แล้ว ต่อไปเธอก็ไม่จัดการให้ฉันเรียบร้อย แก้ไขให้สามารถใช้งานได้ทุกตัวเลยน่ะที่ลงท้ายด้วย Toyota เดี๋ยวนี้เลย ไปเดี๋ยวนี้ ไป๋ !!! นางร้ายก็มา . [อย่าลืม return ค่าออกมาด้วยน่ะ ด้วยการเติมราคาของรถแต่ละรุ่นให้ด้วย]

เรียบแล้วคร่าาา เราทำ Class ให้ใช้ได้แล้ว เรามาต่อกันเลย ที่ Class Main

Step16. Create Java Class :Main ที่ Package: com.easy.toyota โดยการ คลิกขวาที่ com.easy.toyota > New > Java Class > Name : Main > OK

Step17. ประกาศเพื่อที่จะให้แสดงค่าออกมาให้เห็น ของรถแต่ละรุ่นจะเอามารวมกันที่นี้ในการแสดงค่า เราเห็นว่าเวลาที่ Run ออกมาแล้วจะได้รุ่น ราคาของรถ ตามที่ระบุรุ่นเอาไว้

GenFactory factory = new Genfactory();  //สร้างแปร factory และนำไปใช้

เมื่อเราจนคบ และ Run ออกมาก็จะได้เห็นรุ่นของรถทั้งหมด

…………………………….จบแล้ววววจ้า Factory…………………………………

หวังว่าจะเป็นประโยชน์ในภายหน้า ยังไงติชมมาได้เลยนะคะ จะได้เอาไปปรับปรุงให้อร่อยกว่าเดิม อิอิ ทำขึ้นเพื่อสร้างความเข้าใจให้กับตัวเองมากขึ้น

--

--

No responses yet