我破坏了封装吗?

Bose_geek
class Program
{
    static void Main(string[] args)
    {
        B b = new B();
        b.Run();
        Console.Read();
    }
}

class A
{
    public event Action onChanged;

    public void Raise()
    {
        if (onChanged != null)
            onChanged();
    }
}

class B
{
    public void Run()
    {
        A a = new A();
        a.onChanged += a_onChanged;
        a.Raise();
    }

    private void a_onChanged()
    {
        Console.WriteLine("Wow! Invoked");
    }       

}

我无法找出有效的点来证明我破坏了封装或者可能是其他原因。根据我的理解,我正在破坏封装,因为从另一个类调用了私有方法,这足以证明我违反了OOP的定律。需要为上面的代码收集更多内部概念和说明。

阿维·特纳

这实际上取决于您为什么Raise在A类中有一个方法。

如果在那里仅用于启用对私有成员的访问,那么答案将是:是的,您的封装已被破坏。
onChanged事件应该在某些更改发生时发生,而不是在某个外部类决定更改时发生。

但是,如果这只是一个简单的快照,并且该Raise事件是一种触发事件的方法,则该事件是对所执行操作(例如更改a中的文本Textbox然后触发onTextChanged)的副作用,不是封装在机智。

注意:

我正在破坏封装,因为从另一个类调用了私有方法

维基百科

封装用于在类内隐藏结构化数据对象的值或状态,以防止未授权方直接访问它们。通常在类中提供可公共访问的方法(所谓的getter和setter)以访问值,其他客户端类则调用这些方法来检索和修改对象中的值。

可以从公共方法调用私有方法。怎么称呼它呢?程序员(您)有责任使您的方法逻辑更直接,并确保它们调用适当的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.htaccess破坏了我的网站

来自分类Dev

我已经破坏了Ubuntu!

来自分类Dev

PHP破坏了我的代码

来自分类Dev

委托模式会破坏封装吗?

来自分类Dev

Windows-8和Internet Explorer-10破坏了我的ActiveX控件图形吗?

来自分类Dev

安装ubuntu破坏了我的Windows安装

来自分类Dev

尝试Catch语句破坏了我的代码

来自分类Dev

Crashlytics插件破坏了我的项目

来自分类Dev

缩进的代码破坏了我的语法

来自分类Dev

!doctype html破坏了我的脚本

来自分类Dev

安装ubuntu破坏了我的Windows安装

来自分类Dev

为什么serialize()破坏了我的更新?

来自分类Dev

!doctype html破坏了我的脚本

来自分类Dev

iCheck插件破坏了我的形式

来自分类Dev

Joomla菜单,破坏了我的模板

来自分类Dev

尝试Catch语句破坏了我的代码

来自分类Dev

Crashlytics插件破坏了我的项目

来自分类Dev

OctoberCMS Fileupload完全破坏了我的后端

来自分类Dev

我使用Parcelable实施破坏了数据

来自分类Dev

部分升级破坏了我的系统

来自分类Dev

乘法和除法破坏了我的代码

来自分类Dev

升级到EntLib6,但现在缓存块破坏了一切。我可以打捞吗?

来自分类Dev

你可以混合引导程序 3.3 和引导程序 4.1 吗?我试过了,它破坏了网站

来自分类Dev

Java中受保护的字段有什么用处,因为它破坏了数据封装原理?

来自分类Dev

我的servlet映射破坏了我的过滤器

来自分类Dev

为什么我的控制器破坏了我的代码?

来自分类Dev

为什么%r {围绕}我的Regex破坏了我的gsub?

来自分类Dev

我错误地破坏了我的openbox menu.xml

来自分类Dev

Google地方信息照片getUrl()破坏了我的JavaScript

Related 相关文章

热门标签

归档