java-接口(通俗事例)

mac2022-06-30  138

package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:01 * 邮箱:1981462002@qq.com * 说明:插头接口 */ public interface 三脚插头 { void 通电工作(); } package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:03 * 邮箱:1981462002@qq.com * 说明:要冰箱能工作,可以实现插头接口 */ public class 冰箱 implements 三脚插头 { @Override public void 通电工作() { System.out.println("冻雪糕...."); } } package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:03 * 邮箱:1981462002@qq.com * 说明:要洗衣机能工作,可以实现插头接口 */ public class 洗衣机 implements 三脚插头 { @Override public void 通电工作() { System.out.println("洗衣服...."); } } package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:03 * 邮箱:1981462002@qq.com * 说明:要电视能工作,可以实现插头接口 */ public class 电视 implements 三脚插头 { @Override public void 通电工作() { System.out.println("播放游戏王...."); } } package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:03 * 邮箱:1981462002@qq.com * 说明:要空调能工作,可以实现插头接口 */ public class 空调 implements 三脚插头 { @Override public void 通电工作() { System.out.println("好凉快...."); } } package top.toly.接口.插头; /** * 作者:张风捷特烈 * 时间:2018/5/25:8:06 * 邮箱:1981462002@qq.com * 说明:使用者 */ public class 帅帅的我 { public static void main(String[] args) { 插上插头(new 电视()); 插上插头(new 冰箱()); 插上插头(new 洗衣机()); 插上插头(new 空调()); } private static void 插上插头(三脚插头 插头) { 插头.通电工作(); } } - 电视机、空调、洗衣机、冰箱是不同的类实例化的具体对象。 - 电视机的内部制造过程相当于创建电视机类,实现属性和方法的过程。 - 让他们能够工作只需要一个条件——三角插头。 - 这里插头便是接口,但插上去做什么工作取决于具体类的属性与功能。 - 我想要使用这些电器,并不需要去自己制造电器,只需买了它们(相当于new XXX()),再插上插头即可。 - 插上插头的动作针对的只是插头,而不是各种电器,因为通电工作这个方法我们关注的是有没有三角插头,具体是什么电器,我们并不关注。 - 当帅帅的我在调用这个方法时才会关注我需要使用什么电器。 - 我使用洗衣机脑中所想:洗衣机有没有三脚插头(相当于类有没有实现相应接口),有就插上。而不是它是不是洗衣机,这就是面向接口,与面向对象。 - 统一接口实现了将职能的表现形式规范化。
试想一下接口不统一的坏处:如果电器都各有自己的插头规范
- 1.家里的插座就会千奇百怪,开空调需要找空调插座,开电视需要找电视插座(找起来都费劲) - 2.电风扇的插座坏了,怎么办,必须修理后才能用(如果接口统一,换个地方就行了)

转载于:https://www.cnblogs.com/toly-top/p/9782022.html

最新回复(0)