java 多态例子 文件内容读取转化写入
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 多态例子 文件内容读取转化写入,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3328字,纯文字阅读大概需要5分钟。
内容图文
根据最近工作需要,琢磨了一个java多态的例子。
txt 格式的文件转化成 html 格式的文件,如何使用 java 实现。
扩展引申出 txt 、 doc 、 html 等多种格式互相转化,如何使用 java 实现更合适。
下面是所有代码,
1,父类,自定义文件
public class CustomFile {
public String read() {
System.out.println("Custome File read");
return null;
}
public void write(String str) {
System.out.println("Custome File write");
}
}
2,多个子类,txt 、html 、 doc 分别实现各自的读取和写入方法
public class TxtCustomFile extends CustomFile{
public String read() {
System.out.println("Txt Custome File read");
return null;
}
public void write(String str) {
System.out.println("Txt Custome File write");
}
}
public class HtmlCustomFile extends CustomFile {
public String read() {
System.out.println("Html Custome File read");
return null;
}
public void write(String str) {
System.out.println("Html Custome File write");
}
}
public class DocCustomFile extends CustomFile{
public String read() {
System.out.println("Doc Custome File read");
return null;
}
public void write(String str) {
System.out.println("Doc Custome File write");
}
}
3,加入一个工具类,完成内容转化工作
public class CustomFileUtil {
/**
* 这里根据类的实际类型,调用不同的执行方法
* @param source
* @param dest
* @param str
* @return
*/
public static String transform(CustomFile source, CustomFile dest, String str) {
if(source instanceof TxtCustomFile) {
if(dest instanceof HtmlCustomFile) {
return transformTxtToHtml(str);
}else if (dest instanceof DocCustomFile) {
return transformTxtToDoc(str);
}else {
return null;
}
}else if(source instanceof HtmlCustomFile) {
if(dest instanceof TxtCustomFile) {
return transformHtmlToTxt(str);
}else if (dest instanceof DocCustomFile) {
return transformHtmlToDoc(str);
}else {
return null;
}
}else if(source instanceof DocCustomFile) {
if(dest instanceof HtmlCustomFile) {
return transformDocToHtml(str);
}else if (dest instanceof TxtCustomFile) {
return transformDocToTxt(str);
}else {
return null;
}
}else {
return null;
}
}
public static String transformTxtToHtml(String txt) {
System.out.println("txt transform html");
return null;
}
public static String transformTxtToDoc(String txt) {
System.out.println("txt transform doc");
return null;
}
public static String transformHtmlToTxt(String html) {
System.out.println("html transform txt");
return null;
}
public static String transformHtmlToDoc(String html) {
System.out.println("html transform doc");
return null;
}
public static String transformDocToHtml(String doc) {
System.out.println("doc transform html");
return null;
}
public static String transformDocToTxt(String doc) {
System.out.println("doc transform txt");
return null;
}
}
4,写一个实现整个转化过程的类
/**
* 文件格式转换
* @author KevinRenQiang
*
*/
public class CustomFileTransformTest {
/**
* 实现文件格式转化
* @param source 源文件
* @param dest 目的文件
*/
public void transform(CustomFile source, CustomFile dest) {
// 调用源文件 的读取方式,获取内容
String str = source.read();
// 调用专门的转化内容方法,获取目的内容
str = CustomFileUtil.transform(source, dest, str);
// 把目的内容写入到目的文件中
dest.write(str);
}
public static void main(String[] args) {
CustomFile source = new TxtCustomFile();
CustomFile dest = new HtmlCustomFile();
CustomFileTransformTest test = new CustomFileTransformTest();
//这个方法不简单,使用了多态属性,三个子类实现了父类的方法
test.transform(source, dest);
}
}
5,执行结果
具体各自的读写方法,各位自己实现吧
内容总结
以上是互联网集市为您收集整理的java 多态例子 文件内容读取转化写入全部内容,希望文章能够帮你解决java 多态例子 文件内容读取转化写入所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。