https://hackershare.dev/en/bookmarks/753551
设计思想:封装、抽象、继承、多态