码迷,mamicode.com
首页 > 其他好文 > 详细

04 对象与类

时间:2014-06-08 02:08:15      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:des   c   class   blog   java   a   

类是构建对象的模板或蓝图.

所以, 通常是, 一个TotalTest类含有main方法, 用来启动程序 等等, 剩下的其他类, 就好比C的 struct+method() 封装在一起.

类之间的关系:

依赖:( Uses-a), 应该尽量减少类之间的相互依赖, 如果类A不知道B的存在, 它就不会关心B的任何改变, 软件术语叫 耦合度小.

       ( 只是在一个类中使用了另外的类, 并不表示类A需要有实例变量是类B的类型 )

聚合: (has-a), 聚合关系意味着类A对象包含类B的对象.

继承:(is-a)

UML 图形表示:

 

bubuko.com,布布扣

接口继承: 并非是实现接口, 而是想类一样, 定义接口A, 再定义接口B, 然后让接口B extends A, 是这样的关系, 比如你定义了一个接口A, 后来发现接口A中得方法不够使用, 如果这时你增加方法的话, 那么以前你写的程序使用到这个接口的, 都需要修改, 因为java规定在实现接口时, 必须实现接口里的全部方法, 此时你就可以增加一个接口B extends A, 然后把想要新增加的方法放在接口B里.

关联和直接关联, 其实聚合也是关联的一种, 其实也没有必要把关系搞的那么清楚, 在UML途中, 最重要和常用的关系就是以上的几种关系.

多个源文件的编译

比如两个源文件, Employee.java 和 EmployeeTest.java, 有两种编译办法,

1. javac Employee*.java

2. javac EmployeeTest.java, 当java编译器发现 EmployeeTest.java使用了Employee类时会查找名为Employee.class文件, 如果没有找到, 就会自动搜索Employee.java并编译它, 更重要的是, 如果 Employee.java版本较已有得 Employee.class文件版本新, java编译器会重新编译Employee.java.

类似 unix 的 "make" 工具

包作用域

public : 公共访问

private : 私有的, 本身类里边可以访问

如果没有指定public, private的, 那么可以被同一个包中得所有方法访问. (一般很少使用, 都使public 或 private), 包作用域的方法和instance变量是可以被继承的.

类路径

1. 类存储在文件系统的子目录中(即 本机中) 类路径必须与包名匹配.

2. 类文件也可以存储在 JAR(JAVA归档)文件中, 很多第三方库文件就是使用这种, 在一个JAR文件中, 可以包含多个压缩形式的类文件和子目录.

为了使类能够被多个程序共享, 需要做到以下几点:

1) 把类放到一个目录中, 例如: /home/user/classdir, 需要注意的是, 这个目录是包 树状接口的基目录. 如果希望 com.horstman.corejava.Employee类添加到其中, 这个 Employee.class类文件就必须位于子目录 /home/user/classdir/com/horstman/corejava/ 中.

2) 将 JAR 文件放在一个目录中, 例如: /home/user/archives

3) 设置类路径 (class path), 类路径是所有包含类文件的路径的集合.

设置类路径

编译时, 可以通过设置 classpath 来制定类路径, java -classpath 路径 a.java

方法注释:

@param variable description

@return description

@throws class description

通用注释:

@authur name

@version text

@since text

@deprecated text ( 不再使用注释 )

@see reference

注释的抽取: eclipse 可以自动抽取, 也可以使用命令 javadoc -d 路径 包名

类设计技巧

1) 一定要将数据设计为 private

2) 一定要对数据初始化

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

4) 使用标准格式进行类的定义

书写顺序:

共有访问特性部分

包作用域访问特性部分

私有访问特性部分

在每一部分中, 应该按照下列顺序列出:

实例方法

静态方法

实例域

静态域

5) 将职责过多的类分解

6) 类名和方法名能够体现它们的职责

 

 

04 对象与类,布布扣,bubuko.com

04 对象与类

标签:des   c   class   blog   java   a   

原文地址:http://www.cnblogs.com/moveofgod/p/3774384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!