oop相关内容

我应该在默认情况下推荐密封类?

在一个我,因为我正在考虑推荐其他程序员始终封住自己的班级,如果他们还没有考虑过他们的课应该怎么分归类工作的大项目。很多时候,经验不足的程序员从来没有考虑这一点。 我觉得很奇怪,在Java和C#归类为非密封/非最终PR默认。我觉得做密封类大大提高了code可读性。 请注意,这是在房子code,我们可以随时更改应在罕见的情况下发生的,我们需要继承。 你有什么经验?我遇到这种想法相当一些阻力。人说 ..
发布时间:2015-11-24 20:39:09 Java开发

什么是价值类的,什么是在C#中引用类?

在C#中的值类和引用类?的定义是什么 这是如何从值类型不同和引用类型? 我问这个问题,因为我读这在MCTS自学培训工具包(考试70-536)。第1章,第1课,课程回顾4: 您需要创建一个简单的类或 结构只包含价值 类型。您必须创建的类或 结构,使得它作为运行 尽可能有效。你一定是 能够在类或结构传递到 而不用担心一个过程,该 过程将修改它。哪 下面应该创建? 一个引用类 1B参考架构 ..
发布时间:2015-11-24 20:27:33 C#/.NET

什么是封装?它是如何真正隐藏的数据?

搜索变成了一个简单的定义:数据隐藏。 不过,考虑下面两个例子: 1)第一个例子: 类别的雇员 { 公众诠释年龄; } 2)第二个例子: 类别的雇员 { 私人诠释年龄; 公众诠释getAge(){返回年龄;} } 问: 在上述两种实施例中指定,没有数据隐藏,如年龄是由他人修改或由他人正在观看。在哪里数据隐藏?如何在上述的实施例做封装帮助? ..
发布时间:2015-11-24 16:23:34 C#/.NET

在C#德尔福类

我知道这个问题已经被问过,但我还没有看到很短的,明确的答案,所以我希望他们不会消除这个问题,现在我会得到一个明确的答案: 我目前工作在C#5.0; .NET 4.5; VS 2012年我主要是一个Delphi的人,虽然我已经用C#做了很多。 在德尔福我已经写了数百名使用以下排序设计(大大简化HERE)类工厂: 单元uFactory; 接口 类型 TClassofMyClass ..
发布时间:2015-11-24 16:21:29 C#/.NET

什么是抽象类和静态之间的差异?

无论是实例化。有什么区别,以及在什么情况下可以使用一个或其他? 解决方案 静态表示该类只能有静态成员,你不能建立它的一个实例。这是用于无状态的功能(例如,仅仅定义扩展方法,或实用方法的类型)。您也可以声明静态在非静态类成员。这可以让你附加功能的一类,而不必实例化。 下面是使用静态成员和类更多细节。 抽象取值定义的基本结构和功能的所有衍生物类型的共享,但不能使用由自己决定。把它们当作我想,一 ..
发布时间:2015-11-24 16:19:52 C#/.NET

是全球性的静态类和方法不好?

它一般在全球的东西,严重依赖同意要避免。难道使用静态类和方法是一回事吗? 解决方案 全局数据是坏的。然而,许多问题就可以避免与静态方法工作。 我要带要建立最可靠的系统在C#中使用静态方法和类,而不是全球性的数据。例如,如果你的手在一个数据对象为静态方法,而静态方法不访问任何静态数据,那么你大可放心,因为输入数据的函数的输出将始终是相同的。这是采取的二郎神,Lisp语言,Clojure的位置, ..
发布时间:2015-11-24 15:59:38 C#/.NET

什么是从同一类的访问属性的最佳方法,通过访问或直接?

这是一些我没有太多一致的约,总是好奇别人做的。 如何访问内部属性(私人或公共)? 例如你有这个属性: 私人_Name作为字符串 公共属性Name()作为字符串 得到 返回_Name 最终获取 设置(BYVAL值作为字符串) _Name =价值 结束设定 高端物业 在中的另一个功能,哪一个你preFER同一类?为什么? ..
发布时间:2015-11-24 15:35:30 C#/.NET

在C#中覆盖和新的关键字之间的区别是什么?

在覆盖之间的区别是什么和新定义的类层次结构方法时,关键字在C#? 解决方案 下面的页面非常漂亮总结你的问题。 知道何时使用替代和新关键字 摘要 替换:当基类的方法,在派生类中被覆盖,在派生类中使用的版本,即使调用code不“知道”对象是派生的类的一个实例。 新:如果您使用替代的新的关键字,而不是在派生类中的方法不覆盖的方法在基类中,它只是隐藏它。 如果你不指定新的或替代,输出结果是一 ..
发布时间:2015-11-24 15:27:34 C#/.NET

什么是受保护的内部意味着净

受保护的方法,就可以访问这个成员只在派生类,和内部的手段,我们可以用一个对象访问该成员在任何类型的同一程序。 因此,我可以考虑的受保护的内部成员作为在同一组件的公共成员。,并在不同的组件中的保护成员 编辑: 命名空间pracConsole { 类1级 { 受保护的内部INT VAL; 公众诠释你好() { Console.WriteLine(“这 ..
发布时间:2015-11-24 15:22:52 C#/.NET

我无法创建实现面向对象概念的清晰画面,虽然我知道大多数的面向对象的概念。为什么?

我一直在做一些我自己的项目,并且不要有任何indrustial曝光。目前我使用简单的方法来发展与微不足道的面向对象方法的小型应用程序,如创建一个通用类,它使用的功能有点用的构造函数的多态性数据库的功能,​​但我真的不能够想到如何实现使用OOP整个项目的逻辑。 我知道什么是接口,抽象类,密封类等哎呀概念和头脑非常清晰的画面。但问题是,当和我应该如何实现面向对象严重,我应该。 我是否需要学习的实时 ..
发布时间:2015-11-24 15:20:44 C#/.NET

为什么我们不能指定接口的构造?

可能重复: 我知道,你不能在.NET中的接口指定一个构造函数,但为什么我们不能? 这将是非常有益的我当前的项目,以便能够指定一个“引擎”必须通过在构造函数中,但我不能,我一定要足够用在类的XML注释。 解决方案 由于接口描述的行为。构造函数不是行为。对象是如何建立是一个实现细节。 ..
发布时间:2015-11-24 15:02:06 C#/.NET

方法隐藏在C#中使用有效的例子。为什么它在框架中实现?什么是真正的世界的优势在哪里?

任何人都可以解释在C#中的实际使用方式隐藏一个有效的例子吗? 如果该方法是使用在派生类中新关键字定义的,那么它不能被重写。然后,它是相同的创建新鲜方法(比基类中提到一个其它)用不同的名称。 有没有使用新关键字的具体原因是什么? 解决方案 C#不仅支持方法重载,而且方法藏匿。简单地说,如果一个方法不重写衍生方法,它被隐藏了。阿瞒方法来使用new关键字来声明。因此,在第二个上市的正确的类定义是 ..
发布时间:2015-11-24 14:59:08 C#/.NET

'阴影'与'覆盖'在VB.NET

什么是两个关键词阴影和的解决方案 我不会考虑阴影,真正成为一个面向对象的概念。覆盖表明您提供新的或额外的功能,它被应用于一个父类中定义的方法/属性等。阴影真的招数编译以为父方法/属性等根本不存在。 我有没有用阴影。坚持覆盖。这些类型的VB已经为多年来始终最终导致你解忧在某些时候有用的小“特色”。 ..
发布时间:2015-11-24 14:47:25 C#/.NET

实现了IDisposable正确

在我的班级我实现IDisposable如下: 公共类用户:IDisposable的 { 公众诠释ID {获得;保护套; } 公共字符串名称{;保护套; } 公共字符串传递{获得;保护套; } 公众用户(INT用户名) { ID =用户名; } 公众用户(用户名字符串,字符串密码) { NAME =用 ..
发布时间:2015-11-24 14:32:48 C#/.NET

学习.NET / OOP最佳实践的最佳方法是什么?

我是比较新的.NET编程(OOP和一般),我想确保我的设计应用程序时,我不开发坏初学者习惯。 如果你雇佣了新的.NET开发人员,只好让他到相对较快的速度,同时也希望确保他采取的最佳做法(例如,单一职责原则,单元测试,关注点分离),会是什么是你推荐的学习路径? 我一直在听的多态播客近来,虽然听的最佳做法的讨论是有益的,我发现缺少截屏和code例子旨在提供一个介绍这些最佳实践的。 解决方案 有 ..
发布时间:2015-11-24 14:26:03 C#/.NET

静态和实例方法具有相同的名称?

我有一类既具有静态和C#中的非静态接口。是有可能有一个静态和在一类的非静态方法具有相同名称和签名σ 我得到一个编译器错误,当我尝试这样做,但由于某些原因,我认为有办法做到这一点。我错了或者是有没有办法有静态和非静态方法在同一个班? 如果这是不可能的,有没有实现这样的事情,可一般适用于任何情况的好办法? 修改 从我收到的答复,很明显,有没有办法做到这一点。我会用不同的命名系统来解决这个问题。 ..
发布时间:2015-11-24 14:22:04 C#/.NET

在C#为什么同时存在于抽象类和接口?

为什么都存在在C#中抽象类和接口,如果我们可以通过使所有成员在类的抽象实现界面功能。 难道是因为: 接口存在有多重继承 这是有道理的有界面,因为对象的CAN-DO功能应该被放置在一个接口,而抽象基类。 请澄清 解决方案 那么,一个抽象类,可以指定的部分的实现,但通常不是全部。 (说到这,这是完全可以提供一个抽象类,没有抽象成员,但很多虚拟的它与“无操作”实现)。接口提供的没有的实施,仅仅 ..
发布时间:2015-11-24 14:19:56 C#/.NET

重载,覆盖和隐藏?

谁能解释一下什么是重载,覆盖和隐藏在.net中? 感谢 解决方案 重载是一个单一的方法或运营商的多个可能的“签名”的定义。每个签名采用不同的参数,并且基本上是一个独特的功能,比如果多种功能有不同的名字没有什么不同。这通常是用来组概念上类似的操作,如超载 + 与的BigInteger 工作,并与字符串:这两个操作似乎合理的使用 + 的(除非你认为的+所有重载应该定义的 重写是多个可能的的实现的 ..
发布时间:2015-11-24 14:16:38 C#/.NET

有没有更好的方式来创建在C#中深深浅浅的克隆?

我一直在创造了一个项目对象,有一些情况下,我必须创建一个深度复制此对象我想出了利用一个内置的功能,C#这是MemberwiseClone()。困扰我的问题是每当有,我创建了一个新的类,我会写像下面浅copy..Can有人请帮助我提高这部分,给我一个浅浅的副本code函数这是比code中的第二行更好。感谢:) 浅拷贝: 公共静态RoomType CreateTwin(RoomType roomT ..
发布时间:2015-11-24 14:14:09 C#/.NET