面向对象OOP:现实世界该怎么"翻译"成代码?
开篇:老板让你用程序"管"一家餐厅
张三想开一家餐厅,请程序员李四帮忙开发一套管理系统。
李四问:“这个系统要做什么?”
张三说:“有厨师、服务员、菜单、订单、桌子……”
李四想了想,传统的结构化方法是:
- 数据:厨师、服务员、菜单、订单、桌子
- 函数:点菜、做菜、上菜、结账
但这样设计的问题是:数据和处理分开,改动很麻烦。
面向对象(OOP)的思想是:把这些都变成"对象",每个对象既有数据,又有行为。
什么是面向对象?
面向对象(Object-Oriented Programming,OOP)是一种编程范式。
它的核心思想是:
把现实世界的事物抽象成"对象",每个对象有自己的数据和行为
就像真实世界一样:
- 对象:桌子、厨师、订单
- 属性:桌子有座位数、位置;厨师有名字、擅长什么菜
- 方法:桌子可以"被预订";厨师可以"做菜";订单可以"添加菜品"