美文网首页
1.2数据抽象

1.2数据抽象

作者: EnjoyChen | 来源:发表于2017-07-16 15:30 被阅读0次

1.

抽象数据类型(ADT):是一种能够对使用者隐藏数据表示的数据类型。

API:应用程序编程接口

对象:是能够承载数据类型的值的实体

对象三大特性:状态、标识、行为

状态:数据类型中的值,标识:内存中的位置,行为:数据类型的操作

面向对象编程:运用数据抽象的思想编写代码(定义和使用数据类型,将数据类型的值封装在对象中)的方式

2.

5数据类型的设计

5.1 封装

面向对象编程的特征之一就是使用数据类型的实现封装数据,以简化代码和隔离用例开发。

封装实现了模块化编程,它允许我们:

独立开发用例和实现的代码;

切换至改进的实现而不会影响用例的代码;

支持尚未编写的程序(对于后续用例,API能够起到指南的作用)

封装同时也隔离了数据类型的操作,这使我们可以:

限制潜在的错误;

在实现中添加一致性检查等调试工具;

确保用例代码更明晰。

模块化编程成功的关键在于保持模块之间的独立性。

5.2 设计API

只为用例提供它们所需要的,仅此而已。

5.5 实现继承

5.6 字符串表示的习惯

publicString toString() {

returngetClass().getName() +"@"+ Integer.toHexString(hashCode());

}

返回一个含有该对象内存地址的字符串。

5.8 等价性

publicbooleanequals(Object obj) {

return(this==obj);

}

== 比较的是引用

equals()比较的是值

Java约定equals()必须是一种等价性关系。它必须具有:

自反性,x.equals(x)为true;

对称性,当且仅当y.equals(x)为true时,x.equals(y)返回true;

传递性,如果x.equals(y)和y.equals(z)均为true,x.equals(z)也将为true。

另外,它必须接受一个Object为参数并满足以下性质:

一致性,当两个对象均未被修改时,反复调用x.equals(y)总是会返回相同的值;

非空性,x.equals(null)总是返回false。

equals()方法重写规则:

java中的数据类型,可分为两类:

1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean

他们之间的比较,应用双等号(==),比较的是他们的值。

2.复合数据类型(类)

当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false

对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

5.13 契约式设计

使用断言保证代码永远不会被系统错误终止或是进入死循环。

相关文章

  • 1.2数据抽象

    1. 抽象数据类型(ADT):是一种能够对使用者隐藏数据表示的数据类型。 API:应用程序编程接口 对象:是能够承...

  • 1.2数据抽象

    数据类型是一组值和对值的一组操作的集合,到目前为止,我们已经详细讨论Java的原始数据类型:例如,原始数据类型in...

  • 1.2 数据抽象 1.2.1

    题目:编写一个Point2D的用例,从命令行接受一个整数N。在单位正方形中生成N个随机点,然后计算两点之间的最近距...

  • 1.2 数据抽象 1.2.6

    题目:如果字符串s中的字符循环移动任意位置之后能够得到另一字符串t,那么s就被称为t的回环变位(circilar ...

  • alg4th-1.2

    [TOC] algorithm 4th笔记(1.2) 1.2 数据抽象 Counter类 ,计数器 使用Count...

  • 《算法》1.2-数据抽象

    1.数据抽象 ** 数据类型:**值+值上的操作Java编程的基础:主要是使用class关键字构造被称为引用类型的...

  • 第一章绪论

    1.1数据结构 1.2基本概念和术语 1.3抽象数据类型 1.4算法和算法分析 给出问题--->画出逻辑结构---...

  • 第7章:类

    #1.定义抽象数据类型1.1 设计Sales_data类1.2 定义改进的Sales_data类1.3 定义类相关...

  • 深入理解类和对象

    1.1 抽象基类(abc模块) python的抽象类的写法,继承抽象类的类必须要实现抽象方法,否则会报错 1.2 ...

  • 1.2抽象词语转化(上)

    具象词语是指有具体图像的名词,抽象词语则是指没有具体图像的词语。比如:今天我非常高兴。“非常”就是一个表示程度的抽...

网友评论

      本文标题:1.2数据抽象

      本文链接:https://www.haomeiwen.com/subject/ayntkxtx.html