เปิด

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

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

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

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

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

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

OOPL คืออะไร?

อัน OOPL ( ภาษาโปรแกรมเชิงวัตถุ ) คือ ภาษาโปรแกรม ที่อิงตามโมเดลการเขียนโปรแกรมเชิงวัตถุที่อธิบายข้างต้น ตัวอย่างของภาษาโปรแกรมเชิงวัตถุคือ ค ++ , ค #, Java , Python , Simula และ Smalltalk

ตัวอย่าง OOP ทั่วไป

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

จากนั้นคุณสามารถกำหนด คลาสย่อย เรียกอีกอย่างว่า คลาสที่ได้รับ หรือ ชั้นเรียนเด็ก , นั่น สืบทอด วิธีการและคุณสมบัติจากคลาส 'ยานพาหนะ' ตัวอย่างเช่น คุณสามารถกำหนดคลาสย่อยที่เรียกว่า 'motorcycle' ที่มีสองล้อ และ subclass ที่เรียกว่า 'car' ที่มีสี่ล้อ คุณสมบัติที่ใช้ร่วมกัน (การเร่ง การชะลอตัว และการสิ้นเปลืองเชื้อเพลิง) ถูกกำหนดไว้แล้วใน 'รถยนต์' ดังนั้นคุณจึงไม่จำเป็นต้องเขียนคุณสมบัติเหล่านั้นอีก

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

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