Python - 面向對象編程 - 什么是對象和類


面向對象編程

  • Object Oriented Programming,簡稱 OOP,是一種程序設計思想
  • OOP 把對象作為程序的基本單元,一個對象包含了數據和操作數據的方法

 

Python里面有一句話:萬物皆是對象

在編程領域中,通常把現實世界中的實體稱為對象,例如:

  • 美國總統特朗普
  • 中國明星成龍
  • 上海中心大廈
  • 北京中信大廈

對象指的是一個具體的實體,不用於指代一個抽象的群體

  • 小菠蘿是一個具體的人,所以可以說小菠蘿是一個對象
  • 它是一個中國人,但中國人是一個抽象的概念,指的是一群人
  • 所以不能說中國人是一個對象

類似的,上海中心大廈、北京中信大廈這些具體的大廈可以被稱為對象,但是不能說大廈是一個對象

 

對象的屬性和行為

現實世界中的實體有屬性和行為,如下列舉了特朗普和小菠蘿的屬性和行為

對象 屬性 行為
特朗普 姓名、年齡 自我介紹
小菠蘿 姓名、年齡 自我介紹

行為又被稱為方法,它是對屬性的操作

包括讀取操作和修改操作,例如,在特朗普的自我介紹行為中,會讀取他的屬性:姓名和年齡

 

Python 對象

對象栗子

# 字符串 
'Hello'

# 列表 
['www', 'poloyy', 'com']

# 元組 
('www', 'poloyy', 'com')

# 字典 
{'name': 'tom', 'age': 123}

 

對象的屬性

>>> string = 'Hello'
>>> print(string.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. 

>>> list = ['a', 'b', 'c']
>>> print(list.__doc__)
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

__doc__ 是屬性,字符串、列表都有這個屬性

 

對象的行為

>>> string = 'Hello'
>>> string.upper()
'HELLO'
>>> list = ['a', 'b', 'c']
>>> list.append('d')
>>> list
['a', 'b', 'c', 'd']
  • upper() 是字符串的方法,也叫行為
  • append() 是列表的方法

 

什么是類

類的定義

  • 在現實世界中,具體的實體被稱為對象
  • 觀察這些對象的屬性和行為,發現可還是用相同的特征去描述一類對象
對象 屬性和行為
美國總統特朗普 姓名、年齡、工作
中國明星成龍 姓名、年齡、工作
上海中心大廈 高度、業主、維護
北京中信大廈 高度、業主、維護

現實生活中

  • 可以使用【姓名、年齡、工作】 等特征去描述特朗普和成龍這一類對象,因為都是人
  • 使用【高度、業主、維護】等特征去描述上海中心大廈、北京中信大廈這一類對象,因為都是大廈

 

編程世界中

  • 類是對一組具有相同屬性和行為的對象的抽象
  • 【人】是一個抽象的概念,它是一個類或類別,描述了具有【姓名、年齡、工作】等特征的一組對象
  • 【大廈】是一個抽象的概念,它是一個類或類別,描述了具有【高度、業主、維護】等特征的一組對象

 

類和對象的區別

  • 對象是一個具體的實體,比如【小菠蘿】是一個對象,是一個具體的人
  • 類是一組具有相同特征的對象,【小菠蘿】【成龍】【特朗普】的都是一個具體的人,而人是一個類

 

類和對象的關系

  • 對象屬於某個類,對象也可以不屬於某個類
  • 【小菠蘿】是一個人,屬於人類,但不是一個大廈,不屬於大廈類

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM