ทุกสิ่งที่คุณต้องการรู้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุใน C ++



บทความนี้จะให้ข้อมูลเบื้องต้นเชิงลึกเกี่ยวกับแนวทางการเขียนโปรแกรมที่น่าสนใจนั่นคือ Object Oriented Programming ใน C ++

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

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





Object-Oriented Programming คืออะไร?

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

ไปต่อกับบทความนี้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุใน C ++



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

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

ไปต่อกับบทความนี้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุใน C ++

วัตถุ

ออบเจ็กต์เป็นเอนทิตีการรันและเวลากลางคันขั้นพื้นฐานที่สุดใน OOPs อาจเป็นตัวแทนของข้อมูลที่กำหนดโดยผู้ใช้และเวลาที่กำหนดเช่นเวกเตอร์เวลาและรายการหรือรายการใด ๆ ที่โปรแกรมต้องจัดการ ปัญหาการเขียนโปรแกรมได้รับการวิเคราะห์บนพื้นฐานของวัตถุและลักษณะของการสื่อสารระหว่างกัน ควรเลือกวัตถุให้ตรงกับวัตถุในโลกแห่งความเป็นจริงอย่างใกล้ชิด วัตถุใช้พื้นที่ในหน่วยความจำและไม่มีที่อยู่ที่เกี่ยวข้อง ในขณะที่อ็อบเจ็กต์การดำเนินการโต้ตอบโดยการส่งข้อความถึงกัน ตัวอย่างเช่นถ้า“ Student” และ * Student_roll_no เป็นสองอ็อบเจกต์ในโปรแกรมอ็อบเจกต์ Student อาจส่งข้อความไปยังอ็อบเจ็กต์ Student_roll_no เพื่อขอ Marks ที่เกี่ยวข้อง แต่ละออบเจ็กต์มีโค้ดสำหรับจัดการข้อมูล ออบเจ็กต์สามารถโต้ตอบกับข้อมูลหรือรหัสของกันและกันได้โดยไม่ต้องรู้

ไปต่อกับบทความนี้เกี่ยวกับ Object-Oriented Programming C ++



แปลงจาก double เป็น int java

ชั้นเรียน

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

แล็ปท็อปอิเล็กทรอนิกส์

สิ่งนี้จะสร้างอ็อบเจ็กต์แล็ปท็อปที่เป็นของคลาสอิเล็กทรอนิกส์

ไปต่อกับบทความนี้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุใน C ++

การห่อหุ้ม

การห่อหุ้มสามารถกำหนดได้ว่าเป็นการรวมข้อมูลและสารสนเทศไว้ในหน่วยเดียว ใน Object-Oriented Programming การห่อหุ้มถูกกำหนดให้รวมเข้าด้วยกันข้อมูลและฟังก์ชันที่จัดการกับข้อมูลเหล่านั้น

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

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

ไปต่อกับบทความนี้

สิ่งที่เป็นนามธรรม

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

วิธีเปรียบเทียบสองสตริง

ซึ่งสามารถทำได้โดยใช้ตัวระบุการเข้าถึง C ++ มีตัวระบุการเข้าถึง 3 ตัว:

  • เอกชน
  • มีการป้องกัน
  • สาธารณะ

ไปต่อกับบทความนี้

ความหลากหลาย

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

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

C ++ รองรับตัวดำเนินการมากเกินไปและทำงานมากเกินไป

  • Operator Overloading: เป็นกระบวนการสร้างตัวดำเนินการเพื่อแสดงพฤติกรรมที่แตกต่างกันในกรณีต่างๆ
  • Function Overloading: การโอเวอร์โหลดของฟังก์ชันใช้ชื่อฟังก์ชันเดียวเพื่อทำงานประเภทต่างๆ

Polymorphism ถูกนำมาใช้อย่างกว้างขวางในการถ่ายทอดลักษณะทางพันธุกรรม

ไปต่อกับบทความนี้เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุใน C ++

มรดก

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

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

ดังนั้นเราจึงมาถึงตอนท้ายของบทความนี้ในหัวข้อ 'Object Oriented Programming In C ++' หากคุณต้องการเรียนรู้เพิ่มเติมโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

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