自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 软件构造——可复用性总结

目标:从类、API、框架三个层面学习如何设计可复用软件实体的具体技术设计可复用的类设计可复用的框架1 What is Software Reuse?面向复用编程:开发出可复用的软件基于复用编程:利用已有的可复用软件搭建应用系统可重用的组件需要(清晰的定义、开放模式、简洁的接口、易于理解的文档),做到这些,需要代价。不仅program for reuse代价高,program with reuse代价也高开发成本高于一般软件的成本:要有足够高的适应性性能差些:针对更普适场景,缺少足够

2021-07-07 11:01:59 340

原创 ADT和OOP的等价性

大纲站在观察者角度,利用AF,定义不可变对象之间的等价关系引用等价性和对象等价性可变数据类型的观察等价性和行为等价性理解Object的契约,正确实现等价关系判定在很多场景下,需要判定两个对象是否“相等”,例如:判断某个Collection中是否包含特定元素。1.等价关系ADT是对数据的抽象,体现为一组对数据的操作抽象函数AF:内部表示 抽象表示基于抽象函数AF定义ADT的等价操作2 Equality of Immutable Types利用AF定义等价性:a equals b i

2021-07-07 09:08:43 105

原创 软件构造——OOP复习总结

大纲OOP基本概念:object, class, attribute, method, interface, and enumerationsOOP的独特特征:封装与信息隐藏继承与重写多态、子类型、重载静态与动态分派Java中的一些重要的对象方法设计良好的CLASS基本概念:对象、类、属性和方法1.Object状态 该对象中所包含的数据 fields行为 该对象所支持的操作 methodsClass variable 类成员变量(static 修饰)clas

2021-07-06 20:36:11 159

原创 软件构造——规约和ADT复习总结

行为等价性为了确定行为等价性,问题是我们是否可以用一个实现替代另一个实现(是否可相互替代)

2021-07-06 17:05:04 281

原创 JAVA使用小技能1

toString()方法toString方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Object类的toString方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName()+'@'+Integer.toHexString(hashCode());返回:该对象的字符串表示形式因为它是Object

2021-07-05 17:25:05 36

原创 软件构造——第一章复习总结

第一章复习:软件构造的多维度视图和质量目标先要搞清楚:软件构造的对象是什么,如何刻画,然后再关注:如何构造多维软件视图:按阶段划分:构造时/运行时视图按动态划分:时刻/阶段视图按构造对象的层次划分:代码/构件视图每个视图的元素、关系和模型软件构造的质量特性:-外部与内部的质量因素-重要的外部质量因素-质量因素之间的权衡软件构造的五大关键质量目标:-易于理解:优雅而优美的代码/可理解性-已准备好进行更改:可维护性和适应性-开发成本低廉:可重复用的设计:可重用性-防止bug:健壮

2021-07-05 17:17:37 232

原创 软件构造——数据类型与类型检查总结

JAVA中的数据类型不变性和可变性改变一个变量:将该变量指向另一个值的存储空间改变一个变量的值:将该变量当前指向的值的存储空间中写入一个新的值不变性:重要设计原则不变数据类型:一旦被创建,其值不能改变如果是引用类型(指针),也可以是不变的:一旦确定其指向的对象,不能再被改变要使引用不可变,请使用关键字final声明它:final int n = 5;final Person a = new Person(“Ross”);如果编译器无法确定final变量不会改变,就提示错误,这也是静态

2021-07-01 10:37:11 67

原创 程序人生-Hello’s P2P

本次大作业从hello的自白入手,分析了hello的整个生命历程。从最初的的源程序hello.c开始,经过预处理、编译、汇编、链接,生成hello可执行目标程序。并简要分析了计算机系统如何对hello进行进程管理、存储管理以及I/O管理。从hello的整个生命周期,我们可以对计算机系统有更加深入的理解。

2021-06-25 19:51:18 154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除