Questions tagged «oop»

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

4
您什么时候以及为什么要上课?
在C#和C ++ / CLI中,关键字sealed(或NotInheritable在VB中)用于保护类免受任何继承机会(该类是不可继承的)。我知道面向对象编程的一个功能是继承,我觉得使用sealed与该功能相反的功能会停止继承。是否有一个示例可以说明sealed使用它的好处以及何时使用它很重要?
87 c#  .net  oop  c++-cli 

7
JavaScript覆盖方法
假设您有以下代码: function A() { function modify() { x = 300; y = 400; } var c = new C(); } function B() { function modify(){ x = 3000; y = 4000; } var c = new C(); } C = function () { var x = 10; var y = …


25
学习/实施设计模式(针对新手)
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我是一个迷茫的新手和业余程序员,试图掌握这一点,所以请原谅我的问题有点小或没有太大的意义。 我看到很多关于SO的问题都围绕着设计模式的使用,我想知道是否有人拥有学习和实现设计模式的良好资源?我了解一般的想法,并且知道如何/何时使用其中的几个(Singletons,Factory方法),但我知道我错过了。 (只要有关系,我的首选语言是C#,但我可以从其他语言的示例中学到)

30
多态-仅用两个句子定义
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我查看了其他定义和解释,但没有一个让我满意。我想看看是否有人可以在不使用任何代码或示例的情况下最多在两个句子中定义多态性。我不想听到“所以你有一个人/汽车/开罐器...”或这个词是如何衍生的(没人知道您知道poly和morph意味着什么)。如果您对多态性有一个很好的掌握,并且英语水平很好,那么您应该能够以简短而密集的定义回答这个问题。如果您的定义准确地定义了多态性,但它的密度如此之高以至于需要进行多次读取,那么这正是我要寻找的。 为什么只有两个句子?因为定义简短而智能。解释很长,其中包含示例和代码。在这里寻找解释(这些页面上的答案对我的问题并不满意): 多态性vs覆盖vs重载 尝试尽可能简单地描述多态性 我为什么要问这个问题?因为有人问我同样的问题,所以我无法给出令人满意的定义(按照我的标准,这是很高的标准)。我想看看这个网站上有没有头脑的人能做到这一点。 如果您真的不能满足两个句子的要求(这是很难定义的主题),那么您过去就可以了。这个想法是要有一个定义,该定义实际上定义什么是多态性,而不解释它的用途或用法(得到差异吗?)。

7
强制转换和强制转换有什么区别?
我已经看到这两个术语在各种在线说明中几乎可以互换使用,而且我所查阅的大多数教科书也不清楚该区别。 也许有一种清晰,简单的方式来解释你们所知道的区别吗? 类型转换(有时也被称为类型转换) 在需要另一种类型的上下文中使用一种类型的值。 非转换类型强制转换(有时称为pun类型) 不会更改基础位的更改。 强迫 当周围环境需要第二种类型的值时,编译器自动将一种类型的值转换为另一种类型的值的过程。
85 c#  oop 

7
在Javascript中,下划线是什么意思?
var Gallery = Backbone.Controller.extend({ _index: null, _photos: null, _album :null, _subalbums:null, _subphotos:null, _data:null, _photosview:null, _currentsub:null, routes: { "": "index", "subalbum/:id": "subindex", "subalbum/:id/" : "directphoto", "subalbum/:id/:num" : "hashphoto" }, initialize: function(options) { var ws = this; if (this._index === null){ $.ajax({ url: 'data/album1.json', dataType: 'json', data: {}, success: function(data) { ws._data …

5
Ruby中的单例类到底是什么?
Ruby中的单例类本身就是类吗?这是所有对象都属于“类”的原因吗?这个概念很模糊,但是我认为它与为什么我可以完全定义类方法有关(class foo; def foo.bar ...)。 Ruby中的单例类是什么?
85 ruby  oop  singleton 

9
打字稿:如何扩展两个类?
我想节省时间,并在跨PIXI类(一个2D webGL渲染器库)的类之间重用通用代码。 对象接口: module Game.Core { export interface IObject {} export interface IManagedObject extends IObject{ getKeyInManager(key: string): string; setKeyInManager(key: string): IObject; } } 我的问题是,里面的代码getKeyInManager并setKeyInManager不会改变,我想重新使用它,而不是复制它,这里是实现: export class ObjectThatShouldAlsoBeExtended{ private _keyInManager: string; public getKeyInManager(key: string): string{ return this._keyInManager; } public setKeyInManager(key: string): DisplayObject{ this._keyInManager = key; return this; } } 我想要做的是通过a自动添加Manager.add()管理器中用来在其属性中引用对象本身内部的对象的键_keyInManager。 因此,让我们以Texture为例。这里去了TextureManager …

11
CoffeeScript中的私人成员?
有人知道如何在CoffeeScript中成为私有的非静态成员吗​​?目前,我正在执行此操作,该操作仅使用以下划线开头的公共变量来阐明不应在类外使用它: class Thing extends EventEmitter constructor: (@_name) -> getName: -> @_name 将变量放在类中使其成为静态成员,但是如何使其变为非静态呢?甚至有可能没有得到“幻想”?

15
在编写任何代码之前,您如何计划应用程序的体系结构?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我遇到的一件事是在编写任何代码之前先规划应用程序的体系结构。 我并不是说要收集要求以缩小应用程序的工作范围,而是要有效地思考一种布局总体类,数据和流结构的好方法,并对这些想法进行迭代,以便我有一个可靠的计划。在打开IDE之前,请牢记操作。现在,只需打开IDE,创建一个空白项目,开始编写位和鲍勃并让设计从那里“长出来”就可以了。 我收集到UML是执行此操作的一种方法,但是我没有使用它的经验,因此看起来有点模糊。 在编写任何代码之前,您如何计划应用程序的体系结构?如果要采用UML,您能为小型应用程序开发人员推荐一个简洁实用的介绍吗? 感谢您的投入。

9
Python依赖注入的方式是什么?
介绍 对于Java,依赖注入作为纯OOP工作,即,您提供要实现的接口,并且在框架代码中接受实现已定义接口的类的实例。 现在,对于Python,您可以以相同的方式进行操作,但是对于Python,我认为该方法的开销太大。那么,您将如何以Pythonic的方式实现它呢? 用例 说这是框架代码: class FrameworkClass(): def __init__(self, ...): ... def do_the_job(self, ...): # some stuff # depending on some external function 基本方法 最幼稚(也许是最好的?)方法是要求将外部函数提供给FrameworkClass构造函数,然后从do_the_job方法中。 框架代码: class FrameworkClass(): def __init__(self, func): self.func = func def do_the_job(self, ...): # some stuff self.func(...) 客户代码: def my_func(): # my implementation framework_instance = FrameworkClass(my_func) …

15
adapter-任何真实的适配器模式示例
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 13天前关闭。 改善这个问题 我想向我的团队演示适配器模式的使用。我已经在线阅读了许多书籍和文章。每个人都在举一个例子,它对理解概念(形状,存储卡,电子适配器等)很有用,但没有实际案例研究。 您能否分享一下适配器模式的任何案例研究? ps我尝试搜索关于stackoverflow的现有问题,但没有找到答案,因此将其发布为新问题。如果您知道已经有了答案,请重定向。

11
Python继承的意义是什么?
假设您有以下情况 #include <iostream> class Animal { public: virtual void speak() = 0; }; class Dog : public Animal { void speak() { std::cout << "woff!" <<std::endl; } }; class Cat : public Animal { void speak() { std::cout << "meow!" <<std::endl; } }; void makeSpeak(Animal &a) { a.speak(); } int …

15
封装与抽象之间的区别
我今天接受了采访。我对OOP提出了一个问题,关于封装和抽象之间的区别? 我回答了她,据我所知,封装基本上是将数据成员和成员函数绑定到称为Class的单个单元中。而抽象基本上是隐藏实现的复杂性并为用户提供方便的访问。我以为她可以接受我的回答。但是她询问,如果两者的目的都是隐藏信息,那么两者之间的实际区别是什么?我不能给她任何答案。 在问这个问题之前,我阅读了StackOverFlow上有关这两个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.