Questions tagged «oop»

面向对象的编程是一种使用“对象”的编程范式:由数据字段和方法及其相互作用组成的数据结构。


25
为什么C#不允许静态方法实现接口?
为什么用这种方式设计C#? 据我了解,接口仅描述行为,并且其目的是为实现某些行为的接口描述类的合同义务。 如果类希望以共享方法实现这种行为,为什么不呢? 这是我想到的一个例子: // These items will be displayed in a list on the screen. public interface IListItem { string ScreenName(); ... } public class Animal: IListItem { // All animals will be called "Animal". public static string ScreenName() { return "Animal"; } .... } public class Person: IListItem …

21
“ static”关键字在课程中做什么?
具体来说,我正在尝试以下代码: package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } 但是它给了错误 无法在静态方法main中访问非静态字段 所以我将声明更改为clock: static Clock clock = new Clock(); 而且有效。将关键字放在声明之前是什么意思?就可以对对象执行的操作而言,它将确切地执行和/或限制什么?

30
C ++中的struct和class有什么区别?
这个问题已经在C#/。Net上下文中提出过。 现在,我想学习C ++中的结构和类之间的区别。请讨论技术差异以及在OO设计中选择一个或另一个的原因。 我将从一个明显的区别开始: 如果不指定public:或private:,则默认情况下结构的成员是公共的;默认情况下,类的成员是私有的。 我确信在C ++规范的晦涩之处可以找到其他差异。
439 c++  oop  class  struct  c++-faq 

15
我们应该@Override接口的方法实现吗?
实现接口方法的方法是否应带有注释@Override? 注释的JavadocOverride说: 指示方法声明旨在覆盖超类中的方法声明。如果使用此注释类型对方法进行注释但未覆盖超类方法,则要求编译器生成错误消息。 我认为接口从技术上讲不是超类。还是? Question Elaboration




6
解释Python的'__enter__'和'__exit__'
我在某人的代码中看到了这一点。这是什么意思? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s

30
什么时候应该在C ++中使用“朋友”?
我一直在阅读C ++常见问题解答,并对friend声明感到好奇。我个人从未使用过它,但是我对探索这种语言很感兴趣。 使用的一个好例子是friend什么? 再读一遍FAQ,我喜欢<< >>运算符重载的想法,并添加为这些类的朋友。但是我不确定这不会破坏封装。这些例外什么时候可以保持在OOP的严格程度之内?
354 c++  oop  encapsulation  friend 


21
多态性vs覆盖vs重载
就Java而言,当有人问: 什么是多态性? 将超载或重载是一个可以接受的答案? 我认为还有更多。 如果您有一个抽象基类,它定义了一个没有实现的方法,并且您在子类中定义了该方法,那该方法是否仍然覆盖? 我认为 过载不是肯定的正确答案。

8
使用alloc init代替new
学习Objective-C并阅读示例代码,我注意到对象通常是使用以下方法创建的: SomeObject *myObject = [[SomeObject alloc] init]; 代替: SomeObject *myObject = [SomeObject new]; 据我所知,这是有原因的吗?
344 objective-c  oop 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.