2 qq 27049279 qq_27049279 于 2015.06.26 14:17 提问

小白请教有关接口的工厂模式。

图片说明Phone是一个接口,PhoneFactory是一个使用Phone的类。问题很简单一共有2个:1。为什么phone的引用可以使用PhoneFactory的方法,不是子类可以使用父类的方法吗?为什么父类可以使用子类的方法。2.为什么只是创立了一个phone的引用(只是起了一个名字)但是没有实体化phone(没有new),引用就能这样使用方法(class a = xxx())?

1个回答

caozhy
caozhy   Ds   Rxr 2015.06.26 15:20

getPhone内部(或者再往下它调用的下层函数)必然调用了new。
这里就不需要new了。
因为PhoneFactory和Phone不是继承关系,工厂类一般提供的是静态方法,所以调用没有问题。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JavaScript设计模式:工厂模式(附接口模式代码)
工厂模式目的:消除类之间的依赖性。
小白接口,什么鬼?
最近,听闻江湖上出了一个社会接口,也有不少同学已经开始在使用。那就是——小白接口。小白接口,到底是个怎样的冬冬呢?下面将快速来了解下。来自官网的介绍先来看下官网本身的说明。小白接口官网(居然支持HTTPS,第一印象不错):https://www.okayapi.com/它的Slogan是:小白接口,服务大众。它的LOGO:说白了,小白接口就是提供了一套通用的接口服务,可以帮助客户端应用进行快速开发...
抽象类与接口及简单的工厂模式
抽象类的作用和例子,接口多态性的体现和对程序解耦合的例子
Java 通过工厂模式和接口泛型实现完全解耦
首先我们假设: 有一个农民(farmer) 有一本菜谱(cookbook),为了方便理解菜谱只有炸鸡这一个菜 假设这是程序的两部分,分别可以被单独复用.并且农民被复用时有时需要菜谱上的函数做饭,有时忙不过来,就不按照菜谱做饭了,直接泡方便面.如果不够详细的话可以这么理解:农民是单身,所以为了回家不挨饿,他在浏览器里收藏了一个菜谱.也就是说,农民主要被用来干活,但不管是务农还是扛砖,为了不饿着每天都要
C#工厂模式(反射,接口,抽象类)
1、反射,接口,具体方法。 流程:UI传递信息到BLL层,BLL首先  IDBHelper dbhelper = ComDBHelper.GetDBHelper();或  private static IMerchantCoupons _accesser =Coupons_Access.CreateMerchantCoupon(); 调用发射机制,加载数据库具体操作类的DLL文件实现接
简单工厂模式——接口使用
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。接口规则: 1.里面的方法全部都是public修饰的(就算不写也是public的) 2.里面的申请的属性,全部都是public的静态常量 3.接口里面没有构造器 4.接口里面没有静态块 5.接口里面没有实例块 6.在java1.7版本后可以写publi
C# EF CodeFirst简单工厂模式,接口多继承实例
1.基层接口,定义基本访问方法 /// /// 基础访问接口,使用泛型 /// public interface IBaseAbstract where T : class { #region 基础访问 /// /// 获取表达式树 /// /// DbSet GetDbSet(); /// /// 获取对象 /
面向接口(工厂模式)編程 .Net
面向接口的工厂模型 假定我们要设计一个媒体播放器。该媒体播放器目前只支持音频文件mp3和wav。如果不谈设计,设计出来的播放器可能很简单: 程序代码 public class MediaPlayer {     private void PlayMp3()     {         MessageBox.Show("Play the mp3 file.");     }
【重温设计模式】——从工厂方法模式看抽象类和接口的区别
引言  最近我们有集体学习了设计模式,不论是通过我们自己讨论还是听师哥师姐们的分享,这个的收获是非常大的,这一次学习设计模式感到非常的亲切,可能是因为里面有一些模式在自己的项目中已经用到了,像抽象工厂、单例等,不管我们以前用的对还是不对,这一次我们还是对以前在项目中用到过的设计模式更加的熟悉,所以总结一句话,我们在平常的编码过程中应该多用一些设计模式,这样我们才能更好的理解设计模式的精髓。
面向接口编程在Java web 三层架构的应用与使用工厂模式解决问题
在应用中,我们一般都是面向接口编程的,这样有利于系统的扩展与移植。就像Java Web中的三层架构:展现层、业务逻辑层、数据持久层一样,上层都是调用下层的接口。因为一旦下层实现改变:比如持久层从数据库操作更换为文件操作,上层因为调用下层的接口而不用更改任何代码,利于系统扩展与移植。