软件构造期末总结第三章

3.1Data Type and Type Checking
Static vs. dynamic data types 静态和动态数据类型
在这里插入图片描述可变性和不可变性
final 变量能被显式地初始化并且只能初始化一次。不变数据类型,一旦被创建,值不可修改;
基本类型及其封装对象类型都是不可变的;
不可变的引用是指一旦指定引用位置后,不可再次指定。

不变对象:一旦被创建,始终指向同个值/引用
可变对象:拥有方法以修改自己的值/引用

3.2 Designing Specification
规约的结构:前置条件与后置条件
规约评价的三个标准:规约的确定性,规约的陈述性,规约的强度
规约的确定性:给定一个满足前置条件的输入,其输出是唯一的、明确的

3.3 Abstract Data Type (ADT)
ADT的基本概念:抽象数据类型ADT是指一个数学模型以及定义在该模型上的一组操作;即包括数据数据元素,数据关系以及相关的操作。
ADT的四种类型:
Creators(构造器):创建某个类型的新对象,⼀个创建者可能会接受⼀个对象作为参数,但是这个对象的类型不能是它创建对象对应的类型。可能实现为构造函数或静态函数。
Producers(生产器):通过接受同类型的对象创建新的对象。
Observers(观察器):获取抽象类型的对象然后返回一个不同类型的对象/值。
Mutators(变值器):改变对象属性的方法 ,变值器通常返回void,若为void,则必然意味着它改变了对象的某些内部状态;当然,也可能返回非空类型 。
学会设计和测试ADT。

3.4 Object-Oriented Programming (OOP)
对象:对象是类的一个实例,有状态和行为。
类:类是一个模板,它描述一类对象的行为和状态。
接口:接口在JAVA编程语言中是一个抽象类型,用于设计和表达ADT的语言机制,其是抽象方法的集合,接口通常以interface来声明。
抽象类:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样

OOP核心思想:封装,继承,多态。
封装:让抽象的事物保护自身的状态,防止非其他事物对其进行错误的状态改变操作,对我们抽象完的每个事物进行自身数据的保护。
继承:让抽象出来的事物具有本应该具有的联系。我们能用类来描叙一个抽象的事物,同时能用对象来描叙具体的事物,但是这些事物都是独立的,彼此之间没有应该有的联系,这样的孤立设计并不符合现实逻辑,让事物之间的联系得到描叙,我们就需要继承,让我们用继承的关系把这两个现实的抽象联系起来,这样我们就能设计出不孤立的类,而是和其他类有联系的类。
多态:用一种解决方案来解决对一类问题,对于不同的事物解决途径和结果不同。

3.5 Equality in ADT and OOP
等价性equals(),hashCode(),不可变类型的等价性,可变类型的等价性,观察等价性,行为等价性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值