问题描述
java中的类类似于c中的指针唯一的区别是你不能像c中那样去操作它,new运算符在运行期间为对象分配内存,因此运行一次new,就分配一块内存区域。假如有两个类A和B,publicclassA{method1();{}method2();{}method3();{}method4();{}}类B只使用method1()则publicclassB{Aa=newA();a.method1();}因此运行一次new,就开辟了一块内存区域(即使不使用method2()method3()method4()也开辟与之对应的内存区域),所以存在耦合如果有了接口就不这样了,可以根据接口灵活调用类中的方法,降低了耦合。我想问一下。net中是不是也一样呢?请高手指点一下
解决方案
解决方案二:
不好意思,标题写错了,我是想问面向接口的好处,请高手指点,先谢谢了
解决方案三:
还不了解,关注。
解决方案四:
接口是一种思想,区别的只是语法
解决方案五:
是的,都一样
解决方案六:
就是说.net中也和java的一样,运行一次new,就开辟一块内存区域吗?这是面向接口的初衷吗?
解决方案七:
应用接口是不是性能也会相应的有所降低呢?
解决方案八:
能不能解释的清除一些?
解决方案九:
接口只不过是一个指针规范而已,他指向哪里不都要new出来嘛?那不一样要开内存?
解决方案十:
接口只是一种规范而已,跟内存分配一点关系也没有。用new创建多个实例时,每个实例是会分配一块内存,但只是针对字段而言,类的方法在内存中只有唯一一块代码区,所有实例共享。
解决方案十一:
面向接口编程是OOAD原则之一,这说里的接口可以是Interface或abstractclass。在设计时遵DIP(DependencyInversionPrinciple)可以解决静态编译依靠继承带来的一切烦恼,在运行时决定new哪个符合接口的对象,达到解藕、对扩展开放对修改关闭的好处!
解决方案十二:
.net也差不多的,具体的东西你只能看内核了,