用户登录注册案例。
按照如下的操作,可以让我们更符号面向对象思想
A:有哪些类呢?
B:每个类有哪些东西呢?
C:类与类之间的关系是什么呢?
分析:
A:有哪些类呢?
用户类
测试类
B:每个类有哪些东西呢?
用户类:
成员变量:用户名,密码
构造方法:无参构造
成员方法: getXxx () /setXxx ()
登录,注册
假如用户类的内容比较对,将来维护起来就比较麻烦,为了更清晰的分类,我们就把用户
又划分成两类
用户基本描述类
成员变量:用户名,密码
构造方法:无参构造
成员方法: getXxx() /setXxx()
用户操作类
登录,注册
测试类:
main方法。
c:类与类之间的关系是什么呢?
用户基本描述类的对象,并使用其功能。
分包:
A:功能划分
B:模块划分
C:先按模块划分,再按功能划分
今天我们选择按照功能划分:
用户基本描述类包cn. itcast.pojo
用户操作接口cn. itcast.dao
用户操作类包cn. itcast .dao. impl
今天是集合实现,过几天是IO实现,再过几天是GUI实现,就业班我们就是数据库实
用户测试类cn. itcast.test
2:Set集合(理解)
(1)Set集合的特点
无序,唯一
(2)HashSet集合(掌握)
A:底层数据结构是哈希表(是一一个元素为链表的数组)
B:哈希表底层依赖两个方法: hashCode ()和equals()
执行顺序:
首先比较哈希值是否相同
相同:继续执行equals()方法
返回true:元素重复了,不添加
返回false:直接把元素添加到集合
不同:就直接把元素添加到集合
C:如何保证元素唯一性的呢?
由hashCode ()和equals ()保证的
D:开发的时候,代码非常的简单,自动生成即可。
E:HashSet存储字符串并遍历
F:HashSet存储自定义对象并遍历(对象的成员变量值相同即为同一个元素)(3)TreeSet集合
A:底层数据结构是红黑树(是一个自平衡的二叉树)
B:保证元素的排序方式
a:自然排序
让元素所属的类实现Compasable接口
b:比较器排序