6.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述
1. 基本概念
面向?qū)ο蟮某绦蛟O(shè)計(jì)是通過對類、子類和對象等的設(shè)計(jì)來體現(xiàn)的,類是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的核心。
類:定義了對象特征以及對象外觀和行為的模板。
類的特征:
封裝性:隱藏了類中對象的內(nèi)部數(shù)據(jù)或操作細(xì)節(jié),只看到外表信息。
繼承性:
任何類都可以從其它已有的類中派生,新類保持了父類中的行為和屬性,但增加了新的功能。體現(xiàn)了面向?qū)ο笤O(shè)計(jì)方法的共享機(jī)制。
多態(tài)性:相同的操作可作用于多種類型的對象上,并獲得不同的結(jié)果。
抽象性:提取一個(gè)類或?qū)ο笈c眾不同的特征,而不對該類或?qū)ο蟮乃行畔⑦M(jìn)行處理。
基類:
系統(tǒng)本身提供的類稱為基類;惏ㄈ萜黝惡涂丶。容器類是其他對象的集合,如表格、選項(xiàng)按鈕組;控件類是單一的對象,不包含其他對象,如命令按鈕、文本框。
子類:
以其他類定義為起點(diǎn),對某一對象所建立的新類。新類將繼承任何對父類所做的修改。
類庫:
存儲類的文件,每一個(gè)以可視方式設(shè)計(jì)的類都存儲在一個(gè)類庫中。類庫文件的擴(kuò)展名為 .VCX 。
對象:是類的一個(gè)實(shí)例,包括了數(shù)據(jù)和過程。具有所在類所定義的全部屬性和方法。
VFP有兩種對象:容器對象和控件對象。
屬性:控件、字段或數(shù)據(jù)庫對象的特性。
事件:由對象識別的一個(gè)動作。
方法:與對象相聯(lián)系的由程序執(zhí)行的一個(gè)處理過程,即處理事件的一組代碼。
用戶不可以為對象創(chuàng)建新的事件,但可以創(chuàng)建新的方法程序。
2. Visual FoxPro 基類
從下述 Visual FoxPro 基類中,可以派生子類或創(chuàng)建對象。
容器 | 命令組 | 控件 | 微調(diào) | 標(biāo)簽 |
表單 | 命令按鈕 | 復(fù)選框 | OLE 容器控制 | 線條 |
表單集 | 選項(xiàng)組 | 列表框 | OLE 綁定型控制 | 分隔符 # |
表格 | 選項(xiàng)按鈕 # | 文本框 | 自定義 | 形狀 |
標(biāo)頭 # | 頁框 | 組合框 | 工具欄 | 圖象 |
列 # | 頁面 # | 編輯框 | 計(jì)時(shí)器 |
注:# 這些類是父容器的集成部分,在類設(shè)計(jì)器中不能子類化。