7
ฟังก์ชั่นการเขียนโปรแกรมเปรียบเทียบกับ OOP กับคลาส
ฉันได้รับความสนใจในบางแนวคิดของการเขียนโปรแกรมการทำงานเมื่อเร็ว ๆ นี้ ฉันใช้ OOP มาระยะหนึ่งแล้ว ฉันเห็นว่าฉันจะสร้างแอพที่ค่อนข้างซับซ้อนใน OOP ได้อย่างไร แต่ละวัตถุจะรู้วิธีการทำสิ่งที่วัตถุนั้นทำ หรืออะไรก็ได้ที่คลาสพ่อแม่ทำก็เช่นกัน ดังนั้นฉันสามารถบอกPerson().speak()ให้คนพูดได้ แต่ฉันจะทำสิ่งที่คล้ายกันในฟังก์ชั่นการเขียนโปรแกรมได้อย่างไร ฉันเห็นว่าฟังก์ชั่นเป็นรายการชั้นหนึ่ง แต่ฟังก์ชั่นนั้นทำสิ่งหนึ่งที่เฉพาะเจาะจงเท่านั้น ฉันจะมีsay()วิธีการลอยไปรอบ ๆ และเรียกมันว่ามีPerson()ข้อโต้แย้งที่เทียบเท่าเพื่อให้ฉันรู้ว่าสิ่งที่พูดอะไรบางอย่าง? ดังนั้นฉันสามารถเห็นสิ่งต่าง ๆ ง่ายๆฉันจะเปรียบเทียบ OOP และวัตถุในการเขียนโปรแกรมเชิงหน้าที่ได้อย่างไรฉันจึงสามารถทำให้เป็นโมดูลและจัดระเบียบรหัสฐานได้หรือไม่ สำหรับการอ้างอิงประสบการณ์หลักของฉันกับ OOP คือ Python, PHP และ C # บางอย่าง ภาษาที่ฉันกำลังดูที่มีคุณสมบัติการใช้งานคือ Scala และ Haskell แม้ว่าฉันจะเอนไปทางสกาล่า ตัวอย่างพื้นฐาน (Python): Animal(object): def say(self, what): print(what) Dog(Animal): def say(self, what): super().say('dog barks: …