protected相关内容
我想从提供此受保护方法的类的子类中调用另一个实例的受保护方法.请参见以下示例: public class Nano { protected void computeSize() { } } public class NanoContainer extends Nano { protected ArrayList children; } publ
..
嗨,我有一个抽象类,其中有一些公共方法和一些抽象方法. 我对公众开放,以便他们为派生类实现通用方法. 让我感到困惑的是为什么我要定义一个公共抽象方法而不是受保护的抽象.对我来说,在抽象类中定义一个公共抽象方法是没有意义的....因为如果是抽象类,则在派生类中将其覆盖,但是如果将if定义为public,则同样如此,但以某种方式定义它更有意义据我们所知,它将受到保护,因此我们将在派生类中将其覆盖
..
给出一个包含一些受保护成员的类,并使用一个公共接口对其进行修改,通常什么时候可以直接访问受保护成员?我想到了一些具体的例子: 单元测试 内部私有方法(例如__add__或__cmp__)访问其他受保护的属性 递归数据结构(例如,访问链表中的next._data) 我不想公开这些属性,因为我不想公开地触摸它们.我的语法IDE语法高亮显示,我一直在错误地访问受保护的成员-谁在这里?
..
我在应用程序中有一个用于通用CRUD的父对象-它具有基本的save&检索方法,因此我不必将它们重新包含在我的所有对象中.我的大多数子对象都扩展了此基础对象.这个工作正常,但是我在检索序列化的子对象时发现了一个问题.我在父对象中使用“检索"方法,该方法创建子对象的实例,然后从未序列化的子对象的属性填充自身-这意味着可以“自我反序列化"对象. 唯一的问题是-如果子对象具有受保护或私有属性,则父对
..
我尝试了一些事情,想知道为什么会这样. 说,我在命名空间n中有一个名为A的类,并且我试图创建受保护的内部类B. namespace n { public class A { public A() { } } protected internal class B //throwing error { } } 但是
..
我很少使用继承,但是当我这样做时,我从不使用受保护的属性,因为我认为它破坏了继承类的封装. 您使用受保护的属性吗?您将它们用于什么? 解决方案 在此访谈有效Java 的作者Bill Venners关于设计的文章说: 信任子类 Bill Venners: 我应该比其他人更亲密地信任子类吗? 非子类?例如,我做 子类更容易 实施让我比我伤心 将为非子类?在 特别是,你感觉如何
..
我刚刚开始使用David Powers的 PHP面向对象解决方案来开始使用OOP PHP,并且对OOP中的保护概念有些好奇. 作者清楚地说明了保护的工作原理,但是关于不希望其他人能够更改属性的说法有些平淡.我很难想象这样一种情况,即有可能阻止其他人更改您的类,因为他们可以打开您的class.php并手动调整他们喜欢的PHP文本格式. /p> 警告:以上所有内容都是由初学者编写的,具有初学者
..
这是一个非常基本的面向对象问题,但是这个问题困扰了我一段时间. 我倾向于避免在字段和方法中使用“私有"可见性修饰符,而倾向于使用protected. 这是因为,通常来说,除了要为类的扩展设置特定的准则(即在框架中)时,我看不出在基础类和子类之间隐藏实现的任何用处.在大多数情况下,我认为试图限制我或其他用户扩展班级的做法是没有好处的. 但是,对于大多数人而言,private修饰符通
..
您应该使用受保护的成员变量吗?优点是什么,这会导致什么问题? 解决方案 您应该使用受保护的成员变量吗? 取决于您对隐藏状态的挑剔程度. 如果您不希望任何内部状态泄漏,那么将所有成员变量都声明为私有是可行的方法. 如果您不太在乎子类可以访问内部状态,那么受保护就足够了. 如果开发人员出现并为您的类提供子类,则他们可能会弄乱它,因为他们无法完全理解它.对于私有成员,除了
..
何时以及为何在类内使用public,private和protected函数和变量?它们之间有什么区别? 示例: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { /
..
我一直在试图找到一种解决方法,以便在Objective-C中声明@protected属性,以便只有层次结构中的子类才能访问它们(只读,而不是写). 我读到没有任何记录的方法可以做到这一点,所以我想到了这种解决方法,我想问一下StackOverflow对此的看法. 层次结构顶部的每个自定义类都包含三个类,一个实现和两个接口. 我们为其命名: ClassA.h ClassA_protect
..
是否可以定义仅对定义它们的类和该类的子类可用的属性? 用另一种方式表示,有没有一种方法来定义受保护的属性? 解决方案 从技术上讲,没有.属性实际上只是方法,所有方法都是公共的.我们在Objective-C中“保护"方法的方法是不让其他人知道它们. 实际上,是的.您可以在类扩展中定义属性,并仍在主实现块中@synthesize.
..
我试图回答将UITableView子类与UITableViewController一起使用像这样使用 ISA交换: self.tableView->isa = [MyTableView class]; 但是,我得到了编译错误:Instance variable 'isa' is protected. 有没有办法解决这个问题?而且,如果是这样,这样做安全吗? 我问是因为 @Am
..
使用PHPUnit和PHP> = 5.3,可以测试受保护的方法.以下stackoverflow页面概述了最佳实践: “使用PHPUnit测试受保护方法的最佳做法" protected static function callProtectedMethod($name, $classname, $params) { $class = new ReflectionClass($clas
..
今天,我与一位同事讨论了是否测试班级中的私人成员或私人国家.他几乎说服了我为什么这样做是合理的.此问题并非旨在重复有关测试私有成员的性质和原因的现有StackOverflow问题,例如:在我看来,同事的建议将朋友声明引入单元测试实现类有点脆弱.我认为这是不可行的,因为我们在测试代码中引入了一些已测试代码的依赖关系,而测试代码已经依赖于已测试代码=>循环依赖关系.甚至重命名测试类之类的天真无邪的事情
..
我在Solr/Lucene(3.x)中有一个带有特殊复制字段facet_headline的文档,以便有一个没有梗的字段来刻面. 有时2个或更多的单词属于一个单词,应将其视为一个单词,例如"kim jong il". 因此标题“星期六:金正日死了"应该分为: Saturday kim jong il had died 由于这个原因,我决定使用受保护的单词(protwords)
..
我有一个网站,我将创建一个简单的“仅限会员"页面. 我会为页面内容添加保护,以便只有编辑者和管理员可以访问. 该页面对所有用户都应该可见,但是当访客单击它时,页面内容受用户名/密码保护.当用户填写这些字段时,页面会自动重定向以保护内容. 有没有我可以考虑的插件或方法? 解决方案 探究地,有一些用于这类东西的插件,我主要是构建自己的主题并在其中实现. 如果您只想保护一个页面
..
嗨,我有这个数组,我不确定如何从中获取名称,品牌,图像,令牌值? Gloudemans\Shoppingcart\CartCollection Object ( [items:protected] => Array ( [1264477c2182cc04a63fde1186741fa7] => Gloudemans\Shoppingcart\Ca
..
在此问题的答案中,"为什么我的对象无法访问定义的另一个对象的受保护成员"在普通的基类中?",可以读到: 您只能从自己的基类实例访问受保护的成员. 我无法正确获取它,或者跟随MCVE(在coliru上运行)证明是错误的: struct Base { void f(); protected: int prot; }; struct Derived : Base {
..
在[class.access]/7中,我们有以下句子: 类似地,使用A::B作为基本说明符的格式也很合理 因为D是从A派生的,所以必须检查 base-specifier 推迟到看到整个 base-specifier-list 为止. class A { protected: struct B { }; }; struct D: A::B, A { }; 请参见在线示例.实际
..