程序小白天天打卡(面向接口)

本文阐述了面向接口编程的概念及其与面向对象编程的关系,通过具体示例解释了接口的设计原则和实现方式,展示了如何利用接口模拟真实世界的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018/2/18

1.对于面向接口和面向对象的区别

首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。

2.接口的本质和意义

接口,在表面上是由几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被类或其他接口所实现(或者也可以说继承)

接口是一组规则的集合,规定了实现本接口的类和接口必须拥有的一组规则,体现了自然界“若果你是......则必须能....”的理念

例如,在自然界中,人都能吃饭,即“如果你是人,则必须能吃饭”。那么模拟到计算机程序中,就应该有一个IPerson(习惯上,接口名由“I”开头)接口,并有一个方法叫Eat(),然后我们规定,每一个表示“人”的类,必须实现IPerson接口,这就模拟了自然界“如果你是人,则必须能吃饭”这条规则。

面向对象思想的核心之一,就是模拟真实世界,把真实世界中的事物抽象成类,整个程序靠各个类的实例互相通信、互相协作完成系统功能,这非常符合真实世界的运行状况,也是面向对象思想的精髓。

3.简单代码的实现(打印机)

/*将墨盒和纸张定义为接口*/




package Package3.iface;
/*墨盒接口
 * 获得墨盒的颜色*/
public interface IInkBox {
public String getColor();
}
package Package3.iface;
/*纸张接口
 * 定义获得纸张的大小尺寸*/
public interface Ipaper {
	String getSize();//获得纸张的尺寸
	
}
package package4;

import Package3.iface.A4Paperimpl;
import Package3.iface.blackInkBoximpl;
import Package3.iface.colorInkBoximpl;

public class printerText {
public static void main(String[] args) {
	Printer printer=new Printer();
	//为打印机安装纸张和墨盒
	printer.setInkbox(new blackInkBoximpl());
	printer.setPaper(new A4Paperimpl());
	printer.print("测试内容");
}
}
package Package3.iface;
/*实现彩色墨盒的实现类*/
public class colorInkBoximpl implements IInkBox//对接口的使用

{

	@Override
	public String getColor() {
		// TODO Auto-generated method stub
		return "彩色";
	}

}
package Package3.iface;

public class blackInkBoximpl implements IInkBox {

	@Override
	public String getColor() {
		// TODO Auto-generated method stub
		return "黑白";
	}

}
package Package3.iface;

public class A4Paperimpl implements Ipaper {

	@Override
	public String getSize() {
		// TODO Auto-generated method stub
		return "A4";
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值