การเขียนโปรแกรมเชิงวัตถุ: คำจำกัดความ

ความหลากหลายในด้านการประยุกต์ใช้การเขียนโปรแกรมทำให้เกิดภาษาประเภทต่างๆ ในบทความนี้เราจะค้นพบ การเขียนโปรแกรมเชิงวัตถุคืออะไร และภาษาโปรแกรมเชิงวัตถุประเภทใดที่มีอยู่ กล้าที่จะขยายความรู้ของคุณ!

การเขียนโปรแกรมเชิงวัตถุ

การเขียนโปรแกรมเชิงวัตถุ

โดยทั่วไป การเขียนโปรแกรมต้องการความรู้เกี่ยวกับภาษาที่รับผิดชอบในการส่งคำสั่งไปยังคอมพิวเตอร์ และอัลกอริธึมที่แปลงเป็นโปรแกรม แต่การเขียนโปรแกรมคืออะไร?

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

โดยทั่วไป โปรแกรมต้องผ่านสามขั้นตอน: การแก้ไขโปรแกรมในภาษาที่เหมาะสม การแปลงซอร์สโค้ดเป็นคำสั่งสำหรับเครื่อง และการเชื่อมโยงระหว่างโค้ดอ็อบเจ็กต์กับไลบรารีฟังก์ชัน ทำให้เกิดอะไรในที่สุด มันเรียกว่ารหัสปฏิบัติการ

โปรแกรมจะต้องเขียนด้วยภาษาโปรแกรมที่ผู้ใช้เข้าใจได้ สำหรับสิ่งนี้ที่จะเกิดขึ้น โปรแกรมเมอร์จะต้องนำกระบวนทัศน์การเขียนโปรแกรมที่มีอยู่มากมายมาใช้ ซึ่งกำหนดวิสัยทัศน์และด้วยเหตุนี้ การเลือกวิธีการที่จะปฏิบัติตามในการสร้างสิ่งเดียวกัน

กระบวนทัศน์การเขียนโปรแกรม

ความก้าวหน้าในการเขียนโปรแกรมและเทคโนโลยีทำให้เกิดวิธีการเขียนโปรแกรมหรือกระบวนทัศน์ที่หลากหลาย สิ่งเหล่านี้นำไปสู่รูปแบบการเขียนโปรแกรมที่แตกต่างกันและรูปแบบการแก้ปัญหาที่แตกต่างกัน นี่คือกระบวนทัศน์ที่มีอยู่:

กระบวนทัศน์ความจำเป็น

มันระบุว่าโปรแกรมเป็นลำดับคำสั่งที่เข้มงวดจากบนลงล่าง ซึ่งถูกขัดจังหวะโดยการรวมโปรแกรมย่อยไว้ที่ไหนสักแห่งในนั้น

กระบวนทัศน์ที่มีโครงสร้าง

บังคับใช้โครงสร้างโค้ดที่จัดกลุ่มตามกลุ่มขั้นตอนและฟังก์ชัน รหัสถูกทำซ้ำในรูปแบบของการวนซ้ำซึ่งครอบงำโดยเหตุผลเชิงตรรกะ

กระบวนทัศน์การประกาศ

ไม่ได้กำหนดคำสั่งให้ปฏิบัติตามในการดำเนินการที่จำเป็นในการแก้ปัญหา ภายในนั้นมีความโดดเด่นสองประเภท: กระบวนทัศน์การทำงานโดยที่ปัญหาและวิธีแก้ปัญหาถูกอธิบายว่าเป็นหน้าที่และกระบวนทัศน์เชิงตรรกะขึ้นอยู่กับเพรดิเคตเชิงตรรกะ

กระบวนทัศน์การเขียนโปรแกรมเหตุการณ์

มันขึ้นอยู่กับการวนซ้ำไม่รู้จบเพื่อตรวจหาปัญหาและกำหนดวิธีแก้ปัญหา

กระบวนทัศน์ขนาน กระจาย และเกิดขึ้นพร้อมกัน

การดำเนินการของโปรแกรมต้องใช้การคำนวณหลายหน่วย รูทีนทำงานอย่างอิสระในหน่วยการคำนวณอื่น

กระบวนทัศน์เชิงวัตถุ

การเขียนโปรแกรมเชิงวัตถุ

การเขียนโปรแกรมประเภทนี้ใช้หลักการพื้นฐานสามประการ: การห่อหุ้มข้อมูล การแยกวัตถุ และการตรวจสอบประเภทตามลำดับชั้นของคลาส

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

คุณภาพ

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

ต่างจากการเขียนโปรแกรมประเภทอื่น การเขียนโปรแกรมเชิงวัตถุจะมองหาส่วนต่างๆ ในเอนทิตีที่เกิดขึ้นจากโดเมนของปัญหา ไม่ใช่ภายในตัวแก้ไขปัญหาเอง ข้อกำหนดหลักคือแต่ละองค์ประกอบทำงานในลักษณะที่คาดหวัง ดังนั้นการพัฒนาของเราจึงไม่ได้รับผลกระทบจากวิธีการนำไปใช้ และเราสามารถทราบเงื่อนไขเบื้องต้นที่แต่ละองค์ประกอบเสนอ ตลอดจนวิธีเชื่อมต่อกับ

การเขียนโปรแกรมเชิงวัตถุ

จากมุมมองอื่น เราสามารถพูดถึงว่าโปรแกรมเชิงวัตถุเกี่ยวข้องกับทฤษฎีความรู้ ซึ่งระบุว่ามนุษย์เก็บข้อมูลตามรูปแบบที่กำหนดไว้ล่วงหน้า ซึ่งเป็นผลจากประสบการณ์ของเขาในฐานะบุคคล ด้วยวิธีนี้ การเขียนโปรแกรมประเภทนี้ทำให้สามารถแสดงความรู้ในรูปแบบฮิวริสติกหรือทฤษฎี ผ่านแผนงานทางจิตของแต่ละบุคคล โดยใช้ความรู้เดิมที่เก็บไว้ในหน่วยข้อมูล

แหล่ง

https://youtu.be/aESIbDclIzw?t=5

การเขียนโปรแกรมเชิงวัตถุเป็นเทคนิค รูปแบบ หรือวิธีการที่พัฒนาขึ้นในทศวรรษ 1960 อันเป็นผลมาจากวิกฤตที่เกิดจากความเป็นไปไม่ได้ในการเปลี่ยนแปลงหรือปรับเปลี่ยนโปรแกรมที่ซับซ้อน สถานการณ์ที่เลวร้ายลงเรื่อยๆ เนื่องจากขาดบุคลากรเฉพาะทางที่เต็มใจจะดูแลโปรแกรม

การแก้ปัญหาชั่วขณะหนึ่งสำหรับวิกฤตนี้อยู่ในมือของการเขียนโปรแกรมแบบมีโครงสร้าง ซึ่งประกอบด้วยการแตกโปรแกรมออกเป็นขั้นตอนต่างๆ ซึ่งจะทำงานเฉพาะอย่างแยกจากกัน สิ่งนี้นำมาซึ่งข้อเสียอื่นๆ ซึ่งส่วนใหญ่เกิดจากความยากในการประสานงานระหว่างนักพัฒนาหลายคนที่เกี่ยวข้องกับโครงการ เนื่องจากยิ่งมีจำนวนงานที่เกี่ยวข้องมากเท่าใด โปรแกรมเมอร์ก็จะยิ่งมีจำนวนมากขึ้นเท่านั้น

โดยไม่ต้องสงสัย ข้อเสียเปรียบหลักของการเขียนโปรแกรมประเภทนี้คือความจำเป็นในการแยกข้อมูลออกจากโค้ดตามแนวคิด สถานการณ์ที่เลวร้ายลงโดยตรงจากขนาดและความซับซ้อนของโปรแกรม

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

คุณสมบัติ

การเขียนโปรแกรมเชิงวัตถุมีคุณสมบัติหลายประการ นี่คือคุณสมบัติหลัก:

  • พื้นฐานของการเขียนโปรแกรมเชิงวัตถุคือคลาส ไม่ใช่อัลกอริทึม สิ่งเหล่านี้ประกอบขึ้นเป็นหน่วยการสร้างเชิงตรรกะ
  • แต่ละอ็อบเจ็กต์เป็นตัวอย่างของคลาส
  • โปรแกรมถูกมองว่าเป็นวิธีการส่งและรับข้อความผ่านชุดของวัตถุที่ตอบสนองซึ่งกันและกัน
  • แต่ละอ็อบเจ็กต์ต้องค้นหาวิธีที่ดีที่สุดในการตอบกลับแต่ละข้อความที่ได้รับ
  • แต่ละอ็อบเจ็กต์อาจตอบสนองต่อข้อความในรูปแบบต่างๆ
  • ทำให้ง่ายต่อการเปลี่ยนซอฟต์แวร์เนื่องจากส่วนประกอบสามารถใช้แทนกันได้
  • การเปลี่ยนแปลงบางส่วนและภายในจะไม่ส่งผลต่อการทำงานของส่วนที่เหลือของระบบ
  • หากปฏิบัติตามหลักการพื้นฐานของการเขียนโปรแกรมเชิงวัตถุ ค่าใช้จ่ายในการสร้างระบบจะน้อยกว่าในกรณีที่ชิ้นส่วนต่างๆ ต้องพึ่งพาอาศัยกัน
  • เป็นไปได้ว่าคลาสที่ได้มาจากผู้อื่นสืบทอดความรู้และทักษะจากรุ่นก่อน ผ่านการสืบทอด คลาสต่าง ๆ มีความเกี่ยวข้องกัน และวิธีการทำงานถูกเอารัดเอาเปรียบโดยไม่จำเป็นต้องเขียนโค้ดใหม่
  • เมธอดของคลาสสามารถทำสิ่งต่าง ๆ ได้ แม้ว่าจะเก็บชื่อเดียวกันไว้ก็ตาม กล่าวคือผ่าน polymorphism โปรแกรมเมอร์สามารถใช้วิธีการเดียวกันได้หลายรูปแบบ ขึ้นอยู่กับคลาสที่นำไปใช้งาน ซึ่งหมายความว่าสามารถเข้าถึงได้หลายวิธีโดยใช้ชื่อเดียวกันหรือสื่อการเข้าถึง

ความแตกต่าง: การเขียนโปรแกรมแบบมีโครงสร้างกับ การเขียนโปรแกรมเชิงวัตถุ

ดังที่เราได้กล่าวไปแล้ว การเขียนโปรแกรมเชิงวัตถุแสดงถึงวิวัฒนาการของการเขียนโปรแกรมแบบมีโครงสร้าง ซึ่งไม่ได้หมายความว่ามันจะดีกว่า เนื่องจากแต่ละรายการมีประโยชน์ขึ้นอยู่กับประเภทของระบบที่จะพัฒนา ความแตกต่างพื้นฐานที่มีอยู่ระหว่างทั้งสองมีดังต่อไปนี้:

การเขียนโปรแกรมแบบมีโครงสร้างช่วยแก้ปัญหาอัลกอริทึม เริ่มต้นจากการแนะนำข้อมูลบางส่วน ผลลัพธ์จะถูกสร้างขึ้น การเขียนโปรแกรมเชิงวัตถุขึ้นอยู่กับการสร้างแบบจำลองวัตถุ ซึ่งมีประโยชน์มากในการพัฒนาเว็บแอปพลิเคชัน

แบบแรกเน้นที่โครงสร้างข้อมูล ในขณะที่แบบที่สองอิงตามออบเจกต์ โดยมีสถานะและพฤติกรรมเป็นของตัวเอง

ข้อมูลภายในการโปรแกรมแบบมีโครงสร้างจะไหลผ่านโครงสร้างและการเรียกใช้ฟังก์ชัน ในการเขียนโปรแกรมเชิงวัตถุนั้นเป็นผลมาจากการโต้ตอบระหว่างกัน โดยการส่งและรับข้อความ

หลักการพื้นฐาน

จากแนวคิดของการเขียนโปรแกรมเชิงวัตถุ หลักการพื้นฐานสามประการของกระบวนทัศน์นี้จึงปรากฏขึ้น เหล่านี้คือ:

การห่อหุ้มข้อมูล

ดังที่เราได้กล่าวไปแล้ว วัตถุต่างๆ จะต้องรู้วิธีตอบสนองต่อข้อความที่ได้รับ โดยแสดงพฤติกรรมเฉพาะ อย่างไรก็ตาม สิ่งที่เราไม่ต้องการก็คือใครก็ตามที่ส่งข้อความรู้ว่าพวกเขาทำอย่างไร ความสำเร็จของวัตถุประสงค์นี้คือสิ่งที่เรียกว่าการห่อหุ้มข้อมูล กล่าวอีกนัยหนึ่ง สิ่งที่คุณต้องการคือแต่ละส่วนของโปรแกรมรู้เฉพาะสิ่งที่สนใจ ดังนั้นจึงหลีกเลี่ยงผลกระทบหลักประกันที่เกี่ยวข้องกับวัตถุอื่นๆ

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

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

วัตถุนามธรรม

ลักษณะสำคัญของการเขียนโปรแกรมเชิงวัตถุคือพยายามโจมตีปัญหาในส่วนต่างๆ ด้วยวิธีนี้ สิ่งแรกที่มันทำคือค้นหาออบเจกต์ จากนั้นกำหนดว่าพวกมันควรโต้ตอบอย่างไร และสุดท้ายก็นำพฤติกรรมของพวกมันไปใช้ ดังนั้นเราจึงมีวัตถุที่เราพบซึ่งจะช่วยเราแก้ปัญหาได้

สิ่งที่เป็นนามธรรมเกี่ยวข้องกับความรู้ ข้อมูล หรือตัวแปรสองประเภท ซึ่งประกอบเป็นแผนงานทางจิต และวิธีการ หน้าที่ หรือขั้นตอน ซึ่งเชื่อมโยงโครงร่างดังกล่าวกับแผนงานอื่นๆ ที่กำหนดไว้ล่วงหน้า กล่าวคือ ต้องขอบคุณ data abstraction ที่ทำให้สามารถกำหนดโดเมนและโครงสร้างของข้อมูลได้ เช่นเดียวกับวิธีในการเข้าถึงข้อมูลเหล่านั้น ในที่สุด สิ่งที่เป็นนามธรรมจะกลายเป็นข้อมูลประเภทใหม่ที่กำหนดโดยโปรแกรมเมอร์ซึ่งประกอบด้วยคุณลักษณะและวิธีการที่นำไปใช้กับอดีต

เนื่องจากการมีอยู่ของแผนงานทางจิตหลายแบบสำหรับปัญหาเดียวกัน โปรแกรมเมอร์แต่ละคนสามารถจัดชั้นเรียนในรูปแบบต่างๆ ตามการรับรู้ส่วนตัวของเขา เขาหมายถึงสิ่งที่เป็นนามธรรมคือความสามารถภายในการออกแบบโปรแกรมเพื่อสร้างข้อมูลที่กำหนดโดยผู้ใช้

พิมพ์เช็คตามลำดับชั้น

นี่คือเมื่อคุณเลือกภาษาที่จะทำการตรวจสอบประเภท มีภาษาที่ตัดสินใจทำในระหว่างการคอมไพล์และอื่น ๆ ระหว่างการดำเนินการ ภาษาอื่นไม่แม้แต่การคอมไพล์ ซึ่งไม่ให้โอกาสคุณทำการตรวจสอบใดๆ จนกว่าจะถึงรันไทม์

เมื่อตรวจสอบเสร็จสิ้นในขณะใช้งาน จะเรียกว่าการตรวจสอบแบบไดนามิก ในทางตรงกันข้าม เมื่อเสร็จสิ้นในเวลาคอมไพล์ จะเรียกว่าการตรวจสอบแบบคงที่

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

มันทำงานอย่างไร

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

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

แนวคิดหลัก

เพื่อให้เข้าใจมากขึ้นเกี่ยวกับ การเขียนโปรแกรมเชิงวัตถุคืออะไรเราต้องพูดถึงแนวคิดพื้นฐานต่อไปนี้:

  • วัตถุ: หมายถึงเอนทิตีที่สามารถเป็นผู้รับข้อความ ในขณะที่สามารถตอบกลับและส่งข้อความไปยังวัตถุอื่นๆ เป็นเอนทิตีที่มีพฤติกรรม
  • อัตลักษณ์: เป็นลักษณะที่ทำให้วัตถุหนึ่งแตกต่างจากวัตถุอื่น
  • ข้อความ: นี่คือการโต้ตอบที่เป็นผลลัพธ์ระหว่างเอนทิตีที่ร้องขอบริการและอีกอันที่ให้บริการ
  • วัตถุไคลเอนต์: เป็นผู้ที่ส่งข้อความ
  • วัตถุผู้รับ: เป็นวัตถุที่ได้รับข้อความ
  • การมอบหมาย: หมายถึงการส่งข้อความจากวัตถุไปยังวัตถุอื่น เมื่อวัตถุต้องการการทำงานร่วมกันของผู้อื่นเพื่อให้สามารถตอบสนองต่อข้อความได้
  • พฤติกรรม: เป็นการตอบสนองต่อข้อความที่ได้รับจากวัตถุที่ได้รับ
  • สถานะ: อ้างอิงถึงสถานการณ์ปัจจุบันของแต่ละอ็อบเจ็กต์
  • ความรับผิดชอบ: เป็นปฏิสัมพันธ์ระหว่างสถานะกับพฤติกรรมของวัตถุ
  • วิธีการ: หมายถึงการดำเนินการตอบสนองที่กำหนดโดยวัตถุไปยังข้อความที่ได้รับ
  • ความหลากหลาย: นี่คือความสามารถของวัตถุบางอย่างในการตอบสนองต่อข้อความเดียวกัน แต่ในหลายวิธีที่แตกต่างกัน
  • คลาส: เป็นชุดของวัตถุที่ทำงานในลักษณะเดียวกัน โปรแกรมเมอร์สามารถกำหนดได้ เป็นแผนงานทางจิตที่อนุญาตให้วัตถุเป็นนามธรรมและกำหนดว่าจะสัมพันธ์กันอย่างไร
  • แอตทริบิวต์: หมายถึงตัวแปรภายในของวัตถุที่สร้างขึ้นเพื่อเก็บส่วนหนึ่งของสถานะ
  • สัญญา: หมายถึงความรู้เกี่ยวกับสิ่งที่แต่ละองค์ประกอบเสนอและวิธีการเชื่อมต่อกับมัน

การแก้ไขปัญหาตามการเขียนโปรแกรมเชิงวัตถุ

เมื่อมีการระบุปัญหาและเสนอวิธีแก้ปัญหาที่เป็นไปได้แล้ว จำเป็นต้องถอดความเป็นภาษาโปรแกรมเพื่อให้สามารถดำเนินการได้โดยคอมพิวเตอร์ผ่านการใช้โปรแกรม ภายใต้วิธีการของการเขียนโปรแกรมเชิงวัตถุ ขั้นตอนต่อไปนี้ถูกกำหนด:

  • คำจำกัดความของโปรแกรม: เกี่ยวข้องกับคำอธิบายแผนผังของปัญหา ด้วยวิธีที่ชัดเจน เข้าใจได้ และกำหนดไว้อย่างดี โดยเกี่ยวข้องกับการระบุแหล่งที่มาและลักษณะของข้อมูลที่จะประมวลผล ตลอดจนคำอธิบายของผลลัพธ์และวิธีการนำเสนอ
  • การวิเคราะห์และออกแบบเชิงวัตถุ: หมายถึงการระบุและคำอธิบายของวัตถุในโดเมนของปัญหา หลังจากนั้น แอตทริบิวต์ ความสัมพันธ์ และวิธีการติดตามจะถูกสร้างขึ้น เพื่อกำหนดคลาสที่จะนำไปใช้ในภาษาโปรแกรมเฉพาะ
  • การเขียนโปรแกรม: โดยทั่วไปหมายถึงการถอดความของโปรแกรมซึ่งรวมถึงการเขียนโค้ดอย่างถูกต้องในภาษาโปรแกรมโดยใช้รูปแบบการพัฒนาที่สามารถรับประกันคุณภาพของผลิตภัณฑ์ซึ่งจะทำให้เกิดปัญหาในการแก้ไขปัญหาได้อย่างเหมาะสม ขั้นตอนนี้เกี่ยวข้องกับการสร้างอัลกอริธึม การทำผังงานอย่างละเอียดและการเขียนโปรแกรมขั้นสุดท้าย ผ่านการทดสอบเดสก์ท็อป การเขียนโค้ด การคอมไพล์ และการดำเนินการของโปรแกรม
  • เอกสารประกอบ: เกี่ยวข้องกับคำอธิบายของลำดับขั้นตอนที่จำเป็นในการแก้ไขปัญหา มันเกี่ยวข้องกับการรวมบรรทัดความคิดเห็นที่ชี้แจงหรืออธิบายความหมายของบรรทัดรหัสที่อาจสร้างความสับสน โดยเฉพาะอย่างยิ่งที่อ้างถึงตัวระบุและโครงสร้างข้อมูลที่ประกาศ โครงสร้างการควบคุมและวิธีการและพารามิเตอร์ของพวกเขา ขั้นตอนนี้จำเป็นสำหรับความสำเร็จของผลิตภัณฑ์ขั้นสุดท้าย เพราะหากเอกสารล้มเหลว โปรแกรมจะอ่านและแก้ไขได้ยาก และยิ่งกว่านั้น การปรับเปลี่ยนและบำรุงรักษาแทบจะเป็นไปไม่ได้เลย

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

ขณะนี้ภาษาโปรแกรมมีการใช้งานในเกือบทุกสาขาของสังคม ซึ่งรวมถึงการจัดการฐานข้อมูล การสร้างภาพ และแม้แต่ปัญญาประดิษฐ์ และอื่นๆ อีกมากมาย

โดยหลักแล้ว การเกิดเทคโนโลยีวิศวกรรมซอฟต์แวร์ใหม่ ๆ ได้ทำให้เกิดภาษาโปรแกรมที่เราจะเห็นด้านล่าง

ภาษาโปรแกรมเชิงวัตถุ

เป็นภาษาที่ออกแบบมาเพื่อรวมข้อมูลและแอปเพล็ตเข้าในชั้นเรียน สิ่งเหล่านี้สามารถสืบทอดคุณสมบัติของรหัสที่แปลงอื่น ๆ และก่อให้เกิดคุณสมบัติใหม่ ซึ่งนำไปสู่วิธีการเขียนโปรแกรมใหม่

การจัดหมวดหมู่

ดังที่เราจะเห็นในภายหลัง มีภาษาโปรแกรมหลายภาษาที่ตอบสนองต่อกระบวนทัศน์เชิงวัตถุ ตามวิธีการดำเนินการพวกเขาถูกจัดประเภทเป็น:

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

ในบรรดาภาษาเชิงวัตถุหลักที่เรามี:

การเขียนโปรแกรมเชิงวัตถุคืออะไร

หูฟัง

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

ชวา

เป็นหนึ่งในภาษาที่ใช้มากที่สุดในปัจจุบัน เป็นเชิงวัตถุอย่างสมบูรณ์ โดยมีไวยากรณ์คล้ายกับ C และ C ++ เป็นแพลตฟอร์มที่เป็นอิสระ

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

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

การเขียนโปรแกรมเชิงวัตถุ

JavaScript

ต่างจาก Smalltalk และ Java เป็นภาษาที่อาศัยการสร้างต้นแบบหรือตัวอย่าง มันถูกตีความและไม่มีประเภท นั่นคือ มันไม่ทำการตรวจสอบประเภททั้งที่รันไทม์หรือในเวลาคอมไพล์ สร้างอ็อบเจ็กต์ในพื้นที่หน่วยความจำไดนามิก ณ รันไทม์ เนื่องจากไม่มีการคอมไพล์ มันจึงกลายเป็นภาษาที่ตรวจสอบแบบไดนามิก

เป็นภาษาที่ทรงพลัง ต้องขอบคุณการพกพาและการบูรณาการ ตลอดจนเทคนิคการเขียนโปรแกรมมาตรฐานและเรียบง่าย กล่าวอีกนัยหนึ่ง JavaScript เป็นโค้ดที่ฝังอยู่ในหน้าเว็บซึ่งมีจุดประสงค์เพื่อปรับปรุงไดนามิกของหน้านั้น

C + +

มันถือเป็นการเพิ่มภาษา C ดั้งเดิมโดยการดูดซับประโยชน์ของภาษานี้และการรวมการสนับสนุนสำหรับวัตถุ แม้ว่ามันจะครอบคลุมกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกันสามแบบ เช่น: การเขียนโปรแกรมแบบมีโครงสร้าง, การเขียนโปรแกรมทั่วไป และการเขียนโปรแกรมเชิงวัตถุ เขาเป็นคนที่นำการเปลี่ยนแปลงจากกระบวนทัศน์ที่มีโครงสร้างเป็นกระบวนทัศน์เชิงวัตถุ

เป็นภาษาอเนกประสงค์ ใช้บ่อยมากในหมู่โปรแกรมเมอร์แอปพลิเคชัน ทั้งใน Windows และใน GNU Linux สร้างอ็อบเจ็กต์ในหน่วยความจำไดนามิก ณ รันไทม์ โดยพื้นฐานแล้วจะเน้นที่ประสิทธิภาพ การพกพา และสิ่งที่เป็นนามธรรม ข้อเสียเปรียบหลักคือเมื่อทำการคอมไพล์ ไฟล์ปฏิบัติการจะถูกสร้างขึ้นซึ่งมีรหัสที่ถูกต้องสำหรับแพลตฟอร์มที่ทำการคอมไพล์เท่านั้น ในทางกลับกัน เนื่องจากเป็นภาษาที่ปฏิบัติการได้ จึงไม่เป็นอิสระจากแพลตฟอร์ม

C#

เป็นภาษาโปรแกรมที่ทำงานขณะรันไทม์และรวมอยู่ในแพลตฟอร์ม .NET ซึ่งช่วยให้คุณแชร์และจดจำไลบรารีของคุณได้ เป็นแบบเชิงวัตถุทั้งหมด ช่วยให้สามารถสร้างแอปพลิเคชันได้ทุกประเภท

มันถือเป็นวิวัฒนาการของภาษา C และ C ++ ขจัดความซับซ้อนของภาษาหลังเนื่องจากใช้งานง่ายขึ้นและลดระยะขอบของข้อผิดพลาดระหว่างการทำงานเนื่องจากการยอมรับการคอมไพล์ล่วงหน้า

การเขียนโปรแกรมเชิงวัตถุ

หลาม

มันเป็นภาษาที่มีหลายแพลตฟอร์ม ซึ่งส่วนใหญ่เป็นเชิงวัตถุ แต่รวมเอากระบวนทัศน์อื่นๆ เช่น การเขียนโปรแกรมที่จำเป็น การเขียนโปรแกรมเชิงฟังก์ชัน และการเขียนโปรแกรมเชิงมุมมอง

ไวยากรณ์ที่สะอาดตา ใกล้เคียงกับภาษาธรรมชาติมาก ช่วยในการอ่านโค้ดของมัน ขอแนะนำอย่างยิ่งให้เริ่มต้นในโลกของการเขียนโปรแกรม

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

ปาสคาล

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

แม้จะเป็นภาษาที่มีโครงสร้าง แต่ก็อนุญาตให้เขียนโปรแกรมเชิงวัตถุผ่านเวอร์ชัน Turbo Pascal มีสภาพแวดล้อมแบบบูรณาการซึ่งสามารถเขียนโปรแกรมและทดสอบได้ ในที่สุด Pascal เป็นภาษาเอนกประสงค์

หากหัวข้อที่คุณสนใจเกี่ยวข้องกับการเขียนโปรแกรม ผมขอเชิญคุณอ่าน อัลกอริธึมในการเขียนโปรแกรมคืออะไร?