类设计技巧.一些基础支持..(整理篇.)

想要使用OOP一定要清楚对象的三个主要的特性

   1.对象的行为---------可以对对象施加哪些操作,或可以对对象施加那些方法.?

   2.对象的状态---------当施加方法时,对象如何响应!!!

   3.对象的标识---------如何区分具有相同行为和状态的不同对象!!!

   同一个类的所有对象实例由于支持相同行为而具有相同的行为.. 而具有家族的相似性.. 对象的行为是用可调用的方法定义的..

  此外.每个对象都保存着描述当前特征的信息.这就是对象的状态.对象的状态可以能会随着时间而发生改变.但是这种改变不会自发的.. 对象的状态必须通过调用方法实现..否则就会破坏他的封装性..

  但是对象的状态并不能完全描述一个对象.每个对象都有一个唯一的身份...

  需要注意的是.作为一个类的实例.每个对象的表示永远是不同的.但状态却常常存在着差异..

 

类之间的关系.

  1.依赖. uses-a

  2.聚合 has-a

  3.继承 is-a

  (uses-a)依赖是一种最明显的.最常见的关系...  如果一个类的方法操纵了一个类的对象.那么我们就说一个类依赖于另外一个类.

  (has-a)例如.. 一个A对象包含了一些B对象.

 (is-a)也就是说. 如果A类扩展了B了.A类不但包含了从B类继承过来的方法..还会有一些额外的功能.

 

重载.

   如果多个方法有相同的名字.不同的参数.便产生了重载.......

  如果一个类A提供了一个显示的构造方法..而且是带参数的那么.你new一个空参数的构造那么这时候就会报erro..

 所以如果你想要new 一个空的构造器.那么.你必须声明一个空的构造器...

 在构造器里面可以用this()调用该类里面的其他构造器..

例如

java 代码
  1. //伪代码   
  2.   
  3. private String a="";   
  4.   
  5. public A(){   
  6.    this("a");   
  7. }   
  8.   
  9. public A(String a)   
  10. {   
  11.   this.a =a;   
  12. }  

 

还有2个非常重要的2点就是

1. 静态初始化快.

例如..

java 代码
  1. //伪代码.   
  2. static  
  3. {   
  4.  Random ro=new Random();  
  5.   nextId=ro.nextInt(100);   
  6. }  

 

2.对象初始化快..

例如.

java 代码
  1. //伪代码   
  2. {   
  3.   id=nextId;   
  4.   nextId++;   
  5. }  

3.实例初始化

 

java 代码
  1. //伪代码   
  2. private String name;//以前我们是这样声明一个变量.. 但没有初始化..   
  3. private String name="";//这就是初始化的一个变量  

包的命名 一般包的命名都是以自己的玉米来命名.. 而且是逆序的...

例如

java 代码
  1. package com.wallian-hua.javaeye.codejava  

这个都是个人的编程习惯...

 

类设计技巧..

  1.一定将数据设计为私有的..

     最重要的;绝对不要破坏封装性.

2.一定要对数据初始化.

   JAVA不对局部变量初始化.但是会对对象的实例域进行初始化...

3.不要在类中使用过多的基本数据类型.

  就是说.用其他可以代替多个相关的数据类型的使用,这样会使.类更加容易修改.

例如..用一个称为Address的类替换下面的Customer类中的实例域..

java 代码
  1. //伪代码   
  2.   
  3. private String street;   
  4. private String city;   
  5. private state;   
  6. private int zip;  

4.不是所有的域都需要独立的域访问器.或者是更改器.

5.使用标准格式进行类的书写跟定义.

  采用下面的顺序书写类的内容.

  5.1.共有访问特性部分.

  5.2.包作用域访问特性部分.

  5.3.私有访问特性部分.

 在每一个部分中.应该按照下列顺序列出..

  5.4静态域.

  5.5.实例域

  5.6.实例方法.

  5.7.静态方法.

6.将责任过多的类进行分解... (但是不要盲目的分解..根据个人需要.. )

 

                                                                好了. 今天整理到这里..  today is good day....!      ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值