面向对象
space ProjectAdd to Project BuildRebuild All BuildExecute(Ctrl+F5) 输入输出命令 cin与 cout cin v1v2v3… vn cout e1e2...en 程序设计举例 例 Hello VC++ 例 求两个正整数的最大公因数 例 计算万有引力 例 加法器 例 显示生日卡 例
描述外部服务 一般情况下,对象包含的操作主要有:对象的创建与初始化、对象的连接、存取对象的属性值、释放对象、计算、监督等。 用适当的名字来标识这些操作,并加上适当的文字或图表说明。 最后,将所有的 OOA文档汇集起来,包括: 5层OOA模型(主题、类 — 对象、结构、属性和操作)、类 — 对象说明和必要的辅助文档。 面向对象的设计
ate scale length ClosedGraphics area Ellipse translate scale area PolyGon area Rectangle area Triangle … … … … … … B A 继承的编译方案 图形对象的继承层次结构 GraphicalObj translate scale PolyLine translate scale length
{ 函数体定义语句; …… ..。 } main( ) 函数 : 任何 C++ 程序都必须并且只能有一个 main( ) 函数。 main( ) 称为主函数 , 程序从 main( ) 开始执行 , 由 main( ) 函数调用其他函数来完成程序的功能。 主函数的基本形式为: void main( ) //函数头 { …… // 函数体(由语句序列组成) …… …… } 程序从 main( )
( 2)从动态模型导出 测试用例 设计的测试用例应达到完全的状态覆盖 ,即操作序列应导致 account类的变迁穿越所有允许的状态 : 测试用例 s1: open•setupAccent •deposit(initial) • withdraw(final) •close(最小测试序列 ) 向最小序列中加入附加的测试序列 ,例如 : 测试用例 s2:open•setupAccent
11/23 24 动态多态性 (覆盖 ) • 在程序运行时才被识别 • 重写父类的方法 – 要求相同的声明 • 例如 : public class J_HelloApplet extends Applet { public void paint(Graphics g) { (Hello Applet., 25, 25)。 } // End of method: paint } // End of
所设操作都与数据要做的处理有关。 对象是主动的 传统的数据被动地等待对它进行处理;对象本身是进行处理的主体。 实现了数据封装 对象的私有数据完全被封装在内部,对外不可见。 要使用私有数据,只需知道数据的取值范围和可以对该数据施加的操作,无须知道数据的具体结构以及实现操作的算法。 本质上具有并行性 不同对象各自独立地处理自身的数据,彼此通过发消息传递信息完成通信。 20 类
静态变量 public static final InputStream in (标准输入流 ) public static final PrintStream out (标准输出流 ) public static final PrintStream err (标准错误输出流 ) 静态方法 public static void arraycopy(Object src,
Assembler 科学计算 FORTRAN ALGOL 、 BASIC 、APL 系统 Assembler Forth 人工智能 LISP SNOBOL 现代 商业 COBOL、 C++、 Java、 电子表格 C、 PL/1 科学计算 FORTRAN、 C、 C++ Java BASIC 系统 C、 C++、 Java Ada、 Modula 人工智能 LISP、 Prolog 第九章
适合于分布式计算的程序设计语言。 Java语言于 90年代中期的迅速流行与它定位于当时迅速发展的Inter的 WWW应用开发有关。 展示了面向对象技术与分布式计算结合的重大前景。 后面向对象时代的计算机语言 程序设计语言 : C++, Java 脚本语言 : Java Script , VBScript 标记语言 : SGML, HTML, XML 样式语言 : CSS, XSL 建模语言 :