相关疑难解决方法(0)

Java方法默认是静态的吗?

假设您正在foo()A类中编写方法.foo不会访问任何A的状态.你对foo的作用或行为方式一无所知.它可以做任何事情.

无论其他任何考虑因素,foo应该始终是静态的吗?为什么不?

似乎我的类总是在积累许多私有帮助器方法,因为我将任务分解并应用了only-write-it-once原则.其中大多数不依赖于对象的状态,但在类自己的方法之外永远不会有用.它们默认是静态的吗?结束大量内部静态方法是错误的吗?

java oop

65
推荐指数
9
解决办法
6025
查看次数

在C#控制台应用程序中,public static void Main()和private static void Main()有什么区别?

有什么区别

public static void Main()
Run Code Online (Sandbox Code Playgroud)

private static void Main()
Run Code Online (Sandbox Code Playgroud)

在C#控制台应用程序中?具体而言,因为它涉及到Main()方法(I明白之间的差异publicprivate).

c# console-application

48
推荐指数
4
解决办法
3万
查看次数

为什么反射可以在C#中访问类的受保护/私有成员?

为什么反射可以在C#中访问类的受保护/私有成员?

这对于全班来说是不安全的,为什么反思会给予这种力量?这是反模式吗?

c# reflection

18
推荐指数
2
解决办法
1816
查看次数

私有成员可以从同一个类的其他实例访问

我刚才注意到了一些我以前从未意识到的东西.事实证明这个类在C#中是有效的:

class Foo
{
    private string contents;

    public Foo(string str) {
        contents = str;
    }

    public void set(Foo other)
    {
        contents = other.contents;
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,同一类的不同实例可以访问彼此的私有成员.

直到现在,我认为对象的私有成员只能被该对象访问,而不能被同一类的其他实例访问.发现这一点有点令人惊讶.

所有常见的面向对象语言都是这种情况吗?这对我来说并不直观.

oop

14
推荐指数
2
解决办法
3549
查看次数

访问Java中的super()类的私有变量--JChart2D

我在Java中扩展了一个类,它有一个私有变量,我希望在变量之前得到它的值.没有方法可以在超类中访问此变量.我试过super().m_zoomArea(变量在ZoomableChartjChart2D 的类中).mouseDragged调用方法时更新变量.我已重写此方法,并希望在更新之前获取变量的值.

java inheritance

10
推荐指数
3
解决办法
5万
查看次数

Python对象封装安全性

我有一个问题,我选择Python作为一个更大项目的可能语言的决定取决于答案 - 我自己无法想出:

我们都知道Python没有真正的对象封装,所以没有像对象的"私有"属性.关于这个问题,Guido van Rossum说,人们可以在不被"允许"的情况下访问异物的隐藏部分,"我们都是成年人","就是不要这样做".只要我自己编写的软件是我自己的,我就可以很好地生活,所以我对自己的错误负责,并且可以尝试避免这些事情.

但是 - 这就是我的问题:如果我提供一个带有一些扩展点的插件的插件框架,并且许多插件是由其他人,也许是我完全不能信任的插件.

如何防止暴露我的框架内部被插件访问?

有没有办法实现这一点,或者是使用Python有信心没有人会滥用我的API的唯一方法?

python security encapsulation

7
推荐指数
1
解决办法
1499
查看次数

在php中避免访问修饰符的原因

什么是有效的理由不使用关键字公共,私人,受保护的PHP?

故事:我已经开始了一个项目,其团队在他们的代码中积极使用访问修饰符(甚至明确地"公开"),并想说服我这样做.我总是觉得这种东西在像php这样的动态语言中完全没用,但我意识到我的直觉在技术讨论中几乎不是一个论点.因此,我正在寻找一个可靠,清晰的解释为什么访问修饰符在php中无用(甚至有害).

我知道已经存在一些类似的主题

但是我发布这个有几个原因

  • 我不是在问我是否应该使用"公开".我已经没有使用它了.
  • 我明确没有兴趣听到为什么访问修饰符是好的(我知道它们很糟糕,我只需要专家来确认).
  • 如果您要告诉我"最佳实践"和"OOP原则",请不要打扰.

TIA

php oop private protected public

4
推荐指数
2
解决办法
4697
查看次数