บทความนี้ไม่มีจาก |
การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object-oriented programming, OOP) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป
แนวคิดการเขียนโปรแกรมแบบดังเดิมมักนิยมใช้
เปรียบเทียบแนวคิดระหว่างการเขียนโปรแกรมเชิงกระบวนการ และเชิงวัตถุ
ตัวอย่างตู้ขายเครื่องดื่มอัตโนมัติ
วิธีการคิดแบบการเขียนโปรแกรมเชิงกระบวนการ
- เมื่อมีการหยอดเหรียญเข้าตู้
- ตรวจสอบจำนวนน้ำกระป๋องที่มีอยู่ในตู้
- รับผลการเลือกชนิดน้ำ
- ส่งน้ำที่เลือกออกมาจากช่อง
- จัดเก็บเงินเข้าระบบ
- หากมีเงินทอน ให้ทอนเงินที่เหลือ ที่ช่องรับเงินทอน
วิธีการคิดแบบการเขียนโปรแกรมเชิงวัตถุ
ตู้ขายเครื่องดื่มอัตโนมัติ ประกอบด้วยส่วนประกอบต่างๆได้แก่ หน่วยตรวจสอบและจัดการเรื่องเงิน หน่วยจัดการเครื่องดื่ม หน่วยแสดงผลและรอรับคำสั่ง
- หน่วยตรวจสอบและจัดการเรื่องเงิน มีข้อมูลเกี่ยวกับเงินที่ได้รับ และเงินที่มีอยู่ในระบบ สามารถรับและตรวจสอบเงินที่หยอดเข้ามาได้ และทอนเงินได้ - หน่วยจัดการเครื่องดื่ม มีข้อมูลชนิดของเครื่องดื่ม จำนวนเครื่องดื่ม สามารถจัดเตรียมชนิดเครื่องดื่มที่พอกับเงินที่หยอด และสามารถจ่ายเครื่องดื่มออกมาจากตู้ได้ - หน่วยแสดงผลและรอรับคำสั่ง มีหน้าที่รอรับคำสั่ง และแสดงผลเงินที่หยอดเข้ามา
หมายเหตุ ตัวอย่างนี้เป็นเพียงตัวอย่างโดยสังเขป
แนวทางการออกแบบและแก้ปัญหา
ความท้าทายในการออกแบบและพัฒนาโปรแกรมเชิงวัตถุมีหลายด้าน โดยแนวทางดังต่อไปนี้ เป็นแนวทางที่ได้รับการยอมรับอย่างกว้างขวางในการใช้เพื่อแก้ไขปัญหา
ดีไซน์แพตเทิร์น - แบบแผนและแนวทางการออกแบบ ดีไซน์
ในการออกแบบและการพัฒนาโปรแกรมเชิงวัตถุ ได้มีการรวบรวมบันทึกวิธีการแก้ปัญหาที่ใช้ได้ผลสำหรับปัญหาที่เกิดขึ้นซ้ำๆ เสมอๆ วิธีการแก้ไขเหล่านี้สามารถนำมาใช้ได้บ่อยๆ ในสถานการณ์ที่หลากหลาย บันทึกรวบรวมนี้มีชื่อเรียกเฉพาะว่า ดีไซน์แพตเทิร์น (Design Patterns)
Design Patterns ซึ่งเป็นหนังสือที่ออกจัดจำหน่ายเมื่อปี 2538 โดยผู้แต่งร่วม 4 คนได้แก่ Erich Gamma, Richard Helm, Ralph Johnson และ John Vlissides หรือที่รู้จักในนามของ GoF (Gang of four) ถือว่าเป็น แบบแผนและแนวทางการออกแบบ ที่ได้รับความนิยมและเป็นที่รู้จักอย่างกว้างขวางในการนำมาประยุกต์ใช้งานจริง
การเขียนโปรแกรมเชิงวัตถุและฐานข้อมูล
การเขียนโปรแกรมเชิงวัตถุและระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management Systems) ได้ถูกใช้งานร่วมกันอย่างแพร่หลายในปัจจุบัน แต่เนื่องจากฐานข้อมูลเชิงสัมพันธ์ไม่สามารถเก็บข้อมูลเชิงวัตถุได้โดยตรง จึงมีความจำเป็นที่จะต้องเชื่อมต่อเทคโนโลยีทั้งสองเข้าด้วยกัน การแก้ปัญหาสองแบบที่ได้รับความนิยมแพร่หลายคือการใช้ตัวส่งระหว่างโมเดลเชิงวัตถุและเชิงสัมพันธ์ (Object-Relational Mapping: ORM)
อีกวิธีการคือการใช้งาน ( database Management Systems) แทนที่ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ แต่วิธีการนี้ก็ยังไม่ได้รับความนิยมมากนัก
โปรแกรมเชิงวัตถุและการเทียบเคียงกับโลกของความเป็นจริง
การเขียนโปรแกรมเชิงวัตถุสามารถนำมาใช้จำลองการทำงานตามโลกของความเป็นจริงได้ แต่ไม่ได้เป็นที่นิยมนักเนื่องจากมีนักวิชาการจำนวนหนึ่งที่ไม่เห็นด้วยและมองว่าไม่ใช่วิธีการที่ถูกต้อง
ปัจจุบันวิธีการมาตรฐานที่ใช้ในการเทียบเคียงกับโลกของความเป็นจริง ตามแนวทางของคณิตศาสตร์คือ Circle-ellipse problem ซึ่งก็ถูกต้องบางส่วน แต่แนวคิดการสร้างยังคงต้องให้สอดคล้องกับความเป็นจริงของพื้นฐานธรรมชาติที่เป็นไปได้ผนวกกับคณิตศาสตร์ด้วย เพื่อให้เกิดสมดุล
ตัวอย่างภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ
แหล่งข้อมูลอื่น
- การเขียนโปรแกรมเชิงวัตถุด้วยภาษา C#
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir karekhiynopraekrmechingwtthu xngkvs Object oriented programming OOP khuxhnunginrupaebbkarekhiynopraekrmkhxmphiwetxr thiihkhwamsakhykb wtthu sungsamarthnamaprakxbknaelanamathanganrwmknid odykaraelkepliynkhawsarephuxnamapramwlphlaelasngkhawsarthiidipih wtthu xunthiekiywkhxngephuxihthangantxip aenwkhidkarekhiynopraekrmaebbdngedimmkniymichepriybethiybaenwkhidrahwangkarekhiynopraekrmechingkrabwnkar aelaechingwtthutwxyangtukhayekhruxngdumxtonmti withikarkhidaebbkarekhiynopraekrmechingkrabwnkar emuxmikarhyxdehriyyekhatu trwcsxbcanwnnakrapxngthimixyuintu rbphlkareluxkchnidna sngnathieluxkxxkmacakchxng cdekbenginekharabb hakmienginthxn ihthxnenginthiehlux thichxngrbenginthxnwithikarkhidaebbkarekhiynopraekrmechingwtthu tukhayekhruxngdumxtonmti prakxbdwyswnprakxbtangidaek hnwytrwcsxbaelacdkareruxngengin hnwycdkarekhruxngdum hnwyaesdngphlaelarxrbkhasng hnwytrwcsxbaelacdkareruxngengin mikhxmulekiywkbenginthiidrb aelaenginthimixyuinrabb samarthrbaelatrwcsxbenginthihyxdekhamaid aelathxnenginid hnwycdkarekhruxngdum mikhxmulchnidkhxngekhruxngdum canwnekhruxngdum samarthcdetriymchnidekhruxngdumthiphxkbenginthihyxd aelasamarthcayekhruxngdumxxkmacaktuid hnwyaesdngphlaelarxrbkhasng mihnathirxrbkhasng aelaaesdngphlenginthihyxdekhama hmayehtu twxyangniepnephiyngtwxyangodysngekhpaenwthangkarxxkaebbaelaaekpyhakhwamthathayinkarxxkaebbaelaphthnaopraekrmechingwtthumihlaydan odyaenwthangdngtxipni epnaenwthangthiidrbkaryxmrbxyangkwangkhwanginkarichephuxaekikhpyha diisnaephtethirn aebbaephnaelaaenwthangkarxxkaebb diisn inkarxxkaebbaelakarphthnaopraekrmechingwtthu idmikarrwbrwmbnthukwithikaraekpyhathiichidphlsahrbpyhathiekidkhunsa esmx withikaraekikhehlanisamarthnamaichidbxy insthankarnthihlakhlay bnthukrwbrwmnimichuxeriykechphaawa diisnaephtethirn Design Patterns Design Patterns sungepnhnngsuxthixxkcdcahnayemuxpi 2538 odyphuaetngrwm 4 khnidaek Erich Gamma Richard Helm Ralph Johnson aela John Vlissides hruxthiruckinnamkhxng GoF Gang of four thuxwaepn aebbaephnaelaaenwthangkarxxkaebb thiidrbkhwamniymaelaepnthiruckxyangkwangkhwanginkarnamaprayuktichngancring karekhiynopraekrmechingwtthuaelathankhxmul karekhiynopraekrmechingwtthuaelarabbcdkarthankhxmulechingsmphnth Relational Database Management Systems idthukichnganrwmknxyangaephrhlayinpccubn aetenuxngcakthankhxmulechingsmphnthimsamarthekbkhxmulechingwtthuidodytrng cungmikhwamcaepnthicatxngechuxmtxethkhonolyithngsxngekhadwykn karaekpyhasxngaebbthiidrbkhwamniymaephrhlaykhuxkarichtwsngrahwangomedlechingwtthuaelaechingsmphnth Object Relational Mapping ORM xikwithikarkhuxkarichngan database Management Systems aethnthirabbcdkarthankhxmulechingsmphnth aetwithikarnikyngimidrbkhwamniymmaknk opraekrmechingwtthuaelakarethiybekhiyngkbolkkhxngkhwamepncring karekhiynopraekrmechingwtthusamarthnamaichcalxngkarthangantamolkkhxngkhwamepncringid aetimidepnthiniymnkenuxngcakminkwichakarcanwnhnungthiimehndwyaelamxngwaimichwithikarthithuktxng pccubnwithikarmatrthanthiichinkarethiybekhiyngkbolkkhxngkhwamepncring tamaenwthangkhxngkhnitsastrkhux Circle ellipse problem sungkthuktxngbangswn aetaenwkhidkarsrangyngkhngtxngihsxdkhlxngkbkhwamepncringkhxngphunthanthrrmchatithiepnipidphnwkkbkhnitsastrdwy ephuxihekidsmdultwxyangphasathisnbsnunkarekhiynopraekrmechingwtthuC C Fortran 2003 Java Javascript Nice Objective C Object Pascal Perl PHP Python Ruby Simula Smalltalk Visual Basic Visual Basic NET Visual C NETaehlngkhxmulxunkarekhiynopraekrmechingwtthudwyphasa C bthkhwamsxftaewr hrux opraekrmkhxmphiwetxrniyngepnokhrng khunsamarthchwywikiphiediyidodykarephimetimkhxmuldk