類別與物件 Class & Object.

Slides:



Advertisements
Similar presentations
1 教師敘薪 Q & A 教師敘薪 Q & A 新竹縣立新湖國中 陳淑芬 新竹縣立自強國中 楊美娟
Advertisements

103 學年度縣內介聘申請說明會 南郭國小 教務主任張妙芬.  重要作業日程 : 1 、 5/1( 四 ) 前超額學校 ( 含移撥超額 ) 備文函報縣府教 育處輔導介聘教師名單 2 、 5/7( 三 ) 超額教師積分審查( 9 : : 00 、 13 : : 00 )。 3.
資源問題與環境保育 第 6 章. 學完本章我能 ……  知道中國土地資源的問題與保育  了解中國水資源的問題與保育  知道中國森林資源的問題與保育  能分析自然環境和人文環境如何影響人類 的生活型態  說舉出全球面臨與關心的課題.
系統分析與設計 楊子青 H-1 H 、物件導向技術 n 物件導向的基本概念 – 物件、類別 – 封裝、繼承 – 同名異式 ( 多型 ) 、超荷 ( 過載 ) n 物件導向分析與設計及塑模工具 n UML 塑模工具.
第三讲 面向对象(上).
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第 9 章 物件的建構.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
项目7 面向对象高级.
项目6 通用堆栈.
第十課 第九味目錄 徐國能 課文 注釋 問題與討論.
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
第四章 继承与派生 Chapter 4 Inheritance and Derivation
四資二甲 第三週作業 物件導向程式設計.
盧世欽 律師 鼎禾律師聯合事務所 民國 一○四 年 九 月 十八 日
面向对象的程序设计(一).
第一章 面向对象程序设计.
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
9.3 大气压强.
雕塑你我他.
第15章 繼承與多重繼承 15-1 繼承的基礎 15-2 覆寫與隱藏父類別的成員 15-3 子類別的建構與解構子 15-4 多重繼承
第7单元 面向过程编程—— 继承与多态.
第三章 控制结构.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
H、物件導向技術 物件導向的基本概念 物件、類別 封裝、繼承 同名異式(多型) 、超荷(過載) 物件導向分析與設計及塑模工具 UML塑模工具.
第四章 在 C# 中实现 OOP 概念.
CHAPTER 9 建構方法 ROBERT.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
Java 程式設計 講師:FrankLin.
刘胥影 东南大学计算机学院 面向对象程序设计1 2010~2011第3学期 刘胥影 东南大学计算机学院.
第三章 C#面向对象初级编程 面向对象得程序设计越来越受到编程人员的喜爱。类和对象是面向对象程序设计中的重要概念。封装性、继承性和多态性是面向对象的特点,本章旨在全面说明C#编写面向对象程序设计的方法。
第六章 继承性和派生类 胡昊 南京大学计算机系软件所.
程式設計實作.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Java软件设计基础 5. 继承与多态.
Java程序设计 第9章 继承和多态.
C#面向对象程序设计 $7 继承和多态性.
SPOTO TM JAVA课程 JAVA中的OO语法
Java
第9讲 Java的继承与多态(一) 类的继承 子类的创建 方法覆盖.
Php class 組員: 賴羿陵 林昱廷 莊正暉 張雅晴
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第六章 属性、索引器、委托和事件.
第16章 虛擬與多形 16-1 虛擬函數 16-2 純虛擬函數與抽象類別 16-3 多形 16-4 虛擬繼承與虛擬解構子.
第7章 繼承/多型/介面 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
透過YouTuBe API取得資料 建國科技大學 資管系 饒瑞佶 2018/1 V1.
C#程序设计基础 $3 成员、变量和常量.
C++复习2----类与对象.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
Object-Oriented Programming in C++ 第二章 类和对象
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
第6章 面向对象开发的 分析与设计.
第九章 物件導向-進階.
辅导课程十一.
#include <iostream.h>
方法進階及物件導向基礎 Lecturer: 楊昌樺.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
第一讲 面向对象方法学与信息系统建模.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
JAVA 程式設計與資料結構 第三章 物件的設計.
面向对象程序设计 C++教程 西安工业大学 于帆.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基本语法 讲师:复凡.
第6章 继承和多态 伍孝金
Summary
Presentation transcript:

類別與物件 Class & Object

物件導向程式設計OOP 物件導向: 封裝Encapsulation 繼承Inheritance 多形性Polymorphism 類別與物件 類別是抽象的藍圖 物件事具體的東西 物件是類別變數 物件是類別的實現 物件是類別的樣例 ….

類別 Class 藍圖 抽象的 定義屬性(資料)與行為(函式) 告訴程式一個物件到底長成怎樣 語法: class 類別名稱 { 範圍: 資料宣告; 函式宣告; }; 宣告在表單的標頭 範圍: Private  僅在類別內存取 Public  公開 Protected  內部及衍生類別存取

類別 Class class pass { public: //共用 int a; String b; void work() if (a>=60) b=“及格”; } };

類別的實現(樣例化) 宣告別變數  物件 Pass pa; 類別資料與函式的存取 物件.變數; pa.a; 物件.函式; pa.work(); 範例9-2a, p.9-8

類別-範疇運算子:: 將類別內的函式外移時使用 原類別內保留函式宣告 函式內容外移,並加上範疇運算子:: class pass { public: //共用 int a; String b; void work(); }; void pass::work() { b=“不及格”; if (a>=60) b=“及格”; }

類別-建構子&解構子 建構子: 物件建立時自動執行的函式 函式名稱需要與類別相同,不可傳回值 建構子多載兩個以上建構子 解構子: 刪除物件所占用的記憶體 ~ class pass { public: //共用 int a; String b; pass() a=99; } void work(); };

物件陣列 一個類別可以產生多個物件 彼此獨立 將類別產生的物件採用陣列方式來加以存取 ex 9-2f, p.9-17

類別 Class - 資料封裝 class pass int geta() { { private: //內部存取 return a; int a; String b; public: void seta(int value) a=value; } int geta() { return a; } String getb() return b; void work() b="不及格"; if (a>=60) b="及格"; };

類別 Class - 資料封裝 pass pa; pa.seta(StrToInt(Edit1->Text)); pa.work(); Label1->Caption=pa.getb();

靜態資料 一個類別產生的物件彼此獨立 變數與函式獨立(跟著物件走) 靜態資料  跟著類別走  物件共用 在類別宣告時加上static保留字 需要在類別外再宣告 型態 類別名稱:: 變數名稱; ex 9-2gh, p.9-20

繼承 Inheritance 在舊有的類別上新增類別 舊有類別的資料與函式可被繼承(private類除外) class 類別名稱 : 繼承方式 舊類別名稱 { }; 繼承方式: Public:舊類別維持原狀 Private :舊類別public與protected轉為private Protected:舊類別public與protected轉為protected

繼承 Inheritance 函式改寫(Override):名稱與舊類別相同,但功能有修改 舊類別的函式仍可以被存取 物件.舊類別名稱::函式名稱 Ex 9-3abc, p.9-26

繼承-抽象類別 將類別中的函式以virtual方式宣告類別自動變成抽象類別 virtual void work()=0; 無法實作物件 需要到繼承類別才可以實作物件 Ex 9-3e, p.9-36

繼承-多重繼承 一次繼承多個來源類別 與單一繼承相同,繼承原類別所有非private的資料與函式 Class 類別名稱:繼承方式 舊類別1, 繼承方式 舊類別2, … { }; Ex 9-4a, p.9-40