第10章定义类别.PDF

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章定义类别.PDF

第10章 定義類別 第10章 定義類別 (1) 物件簡介 (1) 物件簡介 - 物件(Object) : * 物件是一種主動式資料型態,知道某些事情而且可以做某些事情。物件包含: # 相關的資訊 # 一組操作(Operation) ,能處理這些資訊 * 物件的資訊儲存在物件的實例變數(Instance variable) 中 * 物件的操作是透過定義在物件之中的函式(Function) ,亦稱為方法(Method) * 每個物件都是某個類別(Class) 的一個實例(Instance) ,類別決定了一個物件會有哪些 特性(Attribute) ,也就說明了該物件知道什麼以及能做什麼 * 一個新物件是透過呼叫一個建構子(Constructor)來產生,就像工廠裡使用一個模具 來產生許多產品一樣 * 例如:以下指令產生一個新的圓物件 myCircle = Circle(Point(0, 0), 20) # 其中 Circle 是類別名稱,用來呼叫建構子產生新的實例物件,然後將物件的參考 設定給 myCircle 變數 # 產生實例後,就可以呼叫它的方法來操作此物件 myCircle.draw(win) myCircle.move(dx, dy) ... (2) 利用類別來進行資料處理 (2) 利用類別來進行資料處理 - 物件用於將描述一件物體、一件事、或一個人的許多資訊組合起來 - 例如:大學課程 * 學生在大學所修習的課程,包含下列資訊: # 該課程的學分數(Credits) # 成績等級(Grade) :分為A 、B 、C 、 、及F 共 5 個等級 # 等級點數(Point) :A 、B 、C 、 、F 分別為4 、3 、2 、1 、0 點 # 平均等級點數(Grade point average, GPA) :將各門課程所得等級乘以點數,加總 後再除以總學分數 * 假設使用一個資料檔來紀錄學生的分數資訊,每一行包含學生姓名、學分點數、 分數等級,此3 項資料以定位鍵間隔,例如 students.dat : 張三 127 228 李四 100 400 王五 18 41.5 趙六 48.5 155 陳七 37 125.33 * 我們所要做的是:撰寫一個程式讀入這些資訊,找出GPA 最高的學生姓名、學分 數、及其 GPA * 第一件事:建立學生類別 cla Student: def __init__(self, name, credits, points): self.name = name self.credits = float(credits) 10-1 self.points = float(points) # 使用 float()讓 credits 及 point 的型態彈性更大:可以是整數、實數、甚至字串 * 接著產生學生物件(利用物件可以將有關一個學生的許多資訊都存在一個變數中) aStudent = Student('張三', 127, 228) * 然後,決定學生物件應該需要哪些方法,很顯然的,我們需要讀取學生的各項資 訊並且計算 GPA : def getName(self): return self.name def getCredits(self): return self.credit def getPoints(self): return self.point def gpa(self): return self.points/self.credit * 最後解決問題的虛擬程式碼: Get the file name from the user Open the file for reading Set best to be the first student For ea

文档评论(0)

yanzhaoqiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档