欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java 使用接口便于维护程序_Java初学——面向对象接口的应用

发布时间:2025/3/11 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 使用接口便于维护程序_Java初学——面向对象接口的应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、接口

1.什么是接口

接口是比抽象类更抽象的定义,接口不可以被实例化 实现类必须实现接口的所有方法 实现类可以实现多个接口 、多个接口使用逗号隔开 接口中的变量都是静态常量(public static final) 程序设计时面向接口的约定而不考虑具体实现 。

2.为什么使用接口

有些事物具有相同的功能,多个类可以做相同的功能,程序设计中,要做到将功能模块化,细分化,这样有利于代码的改写,减少代码冗余度,接口和继承类似,但是继承具有单根性,所以有了接口这个定义。

3.怎么使用接口

接口中的成员变量 默认都是public static final的,必须显式初始化 接口中的方法 默认都是public abstract的 ,接口没有构造方法,不能被实例化 一个接口不能实现另一个接口,但可以继承多个其他接口 一个类必须实现接口抽象方法,除非这个类也是抽象类

4.接口与抽象类的区别

相同点 代表系统的抽象层 都不能被实例化 都能包含抽象方法 用于描述系统提供的服务,不必提供具体实现

不同点 在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法 抽象类便于复用,接口便于代码维护 一个类只能继承一个直接的父类,但可以实现多个接口

二、利用接口完成问题

问题:墨盒和纸张的规格是一种约定 打印机需要遵守这些约定 用面向接口编程的方式开发 制定墨盒、纸张的约定或标准 其他厂商按照墨盒、纸张的标准生产墨盒、纸张 打印机厂商使用墨盒、纸张的标准开发打印机

分析:墨盒和纸张规格是个接口,需要创建类去分别实现纸张和墨盒的接口,创建打印机类去组装墨盒和纸张打印,最后创建测试类

1.创建纸张接口

//纸张的接口

public interfacePaper {

String newline="\n";//纸张都会有换行符所以定义在接口里//写入字符的功能

void putChar(charword);//读取纸张上内容的功能

String getContent();

}

2.创建墨盒的接口

//创建墨盒接口

public interfaceInk {//返回指定颜色

String getColor(int r,int g,intb);

}

3.实现墨盒接口

public class ColorInk implementsInk{

@Overridepublic String getColor(int r, int g, intb) {

Color color=new Color(r,g,b);//创建color对象

return "#"+Integer.toHexString(color.getRGB()).substring(2);

}

}

4.实现纸张接口

//纸张实现类

public class TextPaper implementsPaper{int linewords=16;//定义一行有16个字符

int rows=5;//一样有五行

int x=0;int y=0;int paper=1;

String content="";

@Overridepublic void putChar(charword) {

content+=word;

x++;//移动字符的位置

if(x==linewords){

content+=newline;

x=0;

y++;

}if(y==rows){

content+="=======第"+paper+"页=======";

paper++;

y=0;

content+=newline+newline;

}

}

@OverridepublicString getContent() {//获取内容的阶段

if(!(x==0&&y==0)){//页中是否存在空行 lines-y=空行 \n

int count=rows-y;for(int i=0;i

content+=newline;

}

content+="=======第"+paper+"页=======";

}returncontent;

}

}

5.组装墨盒

//打印机类组装墨盒和纸张

public classPrinter {private Ink ink; //墨盒

private Paper paper; //纸张

public voidprint(String content){

System.out.println("该打印机使用的颜色是:"+ink.getColor(50, 50, 50));for (int i = 0; i < content.length(); i++) {char c=content.charAt(i);

paper.putChar(c);

}

System.out.println(paper.getContent());

}publicInk getInk() {returnink;

}public voidsetInk(Ink ink) {this.ink =ink;

}publicPaper getPaper() {returnpaper;

}public voidsetPaper(Paper paper) {this.paper =paper;

}

}

6.创建测试类

public classTest {public static voidmain(String[] args) {//准备墨盒和纸张

Ink ink=newBlackInk();

Paper paper=newTextPaper();

Printer printer=newPrinter();

printer.setInk(ink);

printer.setPaper(paper);

printer.print("2222222222222222222222222222222222222222222222222222222");//输入的文本

}

}

总结

以上是生活随笔为你收集整理的java 使用接口便于维护程序_Java初学——面向对象接口的应用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。