面向對象程式設計(Object-Oriented Programming, OOP)是一種程式設計範型,它使用「對象」作為基本單元來設計和開發軟體。
面向對象程式設計的主要特點是封裝(Encapsulation)、繼承(Inheritance)和多態(Polymorphism),這些特性共同提高了軟體的重用性、靈活性和擴展性。在面向對象編程中,對象是類的實例,類是具有相同屬性和方法的對象的模板。對象可以接收數據、處理數據,並將數據傳遞給其他對象,類似於現實世界中的實體,如動物、汽車或工具等。面向對象程式設計通過封裝將數據和運算元據的函式捆綁在一起,隱藏了內部的實現細節,從而增強了數據的安全性和模組化。繼承允許創建新的類(子類),這些類可以繼承現有類(父類)的屬性和方法,體現了從一般到個別的原則。多態則是指不同的對象對同一訊息的反應不同,允許使用一個接口來操作不同類型的對象。
面向對象程式設計不僅是一種程式設計方法,也是一種程式開發方式,它通過抽象將現實世界的問題域映射到軟體系統中,使得程式更加易於理解和維護。