Object Oriented Programming,簡稱 OOP,是一種程式設計思想
OOP 把對象作為程式的基本單元,一個對象包含了資料和操作資料的方法
在程式設計領域中,通常把現實世界中的實體稱為對象,例如:
美國總統特朗普
中國明星成龍
上海中心大廈
北京中信大廈
對象指的是一個具體的實體,不用于指代一個抽象的群體
小鳳梨是一個具體的人,是以可以說小鳳梨是一個對象
它是一個中國人,但中國人是一個抽象的概念,指的是一群人
是以不能說中國人是一個對象
類似的,上海中心大廈、北京中信大廈這些具體的大廈可以被稱為對象,但是不能說大廈是一個對象
現實世界中的實體有屬性和行為,如下列舉了特朗普和小鳳梨的屬性和行為
對象
屬性
行為
特朗普
姓名、年齡
自我介紹
小鳳梨
行為又被稱為方法,它是對屬性的操作
包括讀取操作和修改操作,例如,在特朗普的自我介紹行為中,會讀取他的屬性:姓名和年齡
__doc__ 是屬性,字元串、清單都有這個屬性
upper() 是字元串的方法,也叫行為
append() 是清單的方法
在現實世界中,具體的實體被稱為對象
觀察這些對象的屬性和行為,發現可還是用相同的特征去描述一類對象
屬性和行為
姓名、年齡、工作
高度、業主、維護
現實生活中
可以使用【姓名、年齡、工作】 等特征去描述特朗普和成龍這一類對象,因為都是人
使用【高度、業主、維護】等特征去描述上海中心大廈、北京中信大廈這一類對象,因為都是大廈
程式設計世界中
類是對一組具有相同屬性和行為的對象的抽象
【人】是一個抽象的概念,它是一個類或類别,描述了具有【姓名、年齡、工作】等特征的一組對象
【大廈】是一個抽象的概念,它是一個類或類别,描述了具有【高度、業主、維護】等特征的一組對象
對象是一個具體的實體,比如【小鳳梨】是一個對象,是一個具體的人
類是一組具有相同特征的對象,【小鳳梨】【成龍】【特朗普】的都是一個具體的人,而人是一個類
對象屬于某個類,對象也可以不屬于某個類
【小鳳梨】是一個人,屬于人類,但不是一個大廈,不屬于大廈類