当前位置:首页 » 编程语言 » 设计类java

设计类java

发布时间: 2023-06-03 22:16:36

java类、方法的设计

在Java面向对象编程的过程中,类的设计是一个很有挑战性的工作,不同的人可能对于类的理解不一样,设计出来的类也可能不一样,总结出以下几点关于类设计方面的建议供开发人员参考:
1.永远保持数据私有
保持数据的私有是设计类时,必须重点考虑的问题。保持私有的数据有利于封装。虽然为了保持数据的私有,需要编写设置器与访问期,但这比起不是数据私有要安全的多。
2.永远初始化数据
Java不提供对本地变量的初始化,但它会初始化对象中的实力字段。在设计类时尽量不要依赖于系统的默认值,最好明确的初始化变量。可以通过赋值或构造器对变量进行初始化。
3.不要在一个类中使用太多的基本类型
把相关的基本类型利用封装的功能,设计成一个单独的类;在引用时也同样尽量使用一个单独的类封装同一功能的类似字段。这样做的结果可以使类更易于理解和修改。
例:在一个类中需要引入人的某些属性
Private String peopleName;
Private String peopleSex;
Private String peopleBirthday;
在正中情况下,可以设计一个People类来实现这些字段的封装,在新设计的类中,只需要一个类的实例:
People aPeople = new People();
就可以得到相关的属性值。
4.尽量使类的功能单一化
这句话很难用一句明确的语言来形容,什么样的类是功能单一的呢,可以这样理解,例如设计一个类时,尽量不要将太多的功能放到一起。

② JAVA如何设计实体类

如果说的是对应数据库信息的实体类,……对Java来说,和普通的类一模一样。只是每个类设计者有不同的用法,比如说集合类,作为各种数据结构使用。实体类主要作为存储数据库信息使用。两者Java上有区别么?没有,只是代码不一样,用法不一样。

③ JAVA23种设计模式

一、大约分为三类:

1、创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

2、结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

3、行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

二、设计模式遵循的原则有6个:

1、开闭原则(OpenClosePrinciple)

对扩展开放,对修改关闭。

2、里氏代换原则(LiskovPrinciple)

只有当衍生类毁吵茄可以替换掉基类,软件单位的功能不受到影碰迹响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

3、依赖倒转原则(DependenceInversionPrinciple)

这个是开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(InterfaceSegregationPrinciple)

使用多个隔离的借口来降低耦合度。

5、迪米特法则(最少知道原则)(DemeterPrinciple)

一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(CompositeReusePrinciple)

原则是尽量使用合成/聚合的方式,而不是使用纤察继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。

④ java里如何设计这个类

package com.;

import java.util.Date;

public class Computer {

public Key key;

public Screen screen;

public Mouse mouse;

public Date time;

public Computer(Key key, Screen screen, Mouse mouse, Date time) {

this.key = key;

this.screen = screen;

this.mouse = mouse;

this.time = time;

}

public Key getKey() {

return key;

}

public void setKey(Key key) {

this.key = key;

}

public Screen getScreen() {

return screen;

}

public void setScreen(Screen screen) {

this.screen = screen;

}

public Mouse getMouse() {

return mouse;

}

public void setMouse(Mouse mouse) {

this.mouse = mouse;

}

public Date getTime() {

return time;

}

public void setTime(Date time) {

this.time = time;

}

}

class Key {

}

class Screen {

}

class Mouse {

}

热点内容
勤哲服务器如何用WPS 发布:2024-12-21 19:52:55 浏览:320
c语言b是什么意思 发布:2024-12-21 19:52:51 浏览:916
人渣需要什么样的配置 发布:2024-12-21 19:52:44 浏览:558
unity脚本制作 发布:2024-12-21 19:52:02 浏览:562
服务器和云服务器区别 发布:2024-12-21 19:26:38 浏览:650
linuxhttp文件服务器搭建 发布:2024-12-21 19:26:35 浏览:676
android与c通信 发布:2024-12-21 19:16:37 浏览:334
电子秤脚本 发布:2024-12-21 19:12:33 浏览:276
linuxwall 发布:2024-12-21 18:59:29 浏览:765
现在安卓什么软件能看视频 发布:2024-12-21 18:56:08 浏览:791