标签: protected

Java中的public,protected,package-private和private有什么区别?

在Java中,有没有关于何时使用每个访问修饰符,即默认明确的规则(包私有)public,protected并且private,同时使classinterface和处理继承?

java private protected public access-modifiers

3004
推荐指数
24
解决办法
201万
查看次数

public,private和protected之间有什么区别?

何时以及为什么我应该在类中使用public,privateprotected函数和变量?他们之间有什么区别?

例子:

// Public
public $variable;
public function doSomething() {
  // ...
}

// Private
private $variable;
private function doSomething() {
  // ...
}

// Protected
protected $variable;
protected function doSomething() {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

php oop private protected public

951
推荐指数
13
解决办法
47万
查看次数

在Ruby中对受保护和私有方法进行单元测试的最佳方法是什么?

使用标准Ruby Test::Unit框架对Ruby中的受保护和私有方法进行单元测试的最佳方法是什么?

我敢肯定有人会说道,"你应该只测试公共方法;如果它需要单元测试,它不应该是一个受保护的或私有的方法",但我真的不想讨论这个问题.我有几个方法保护的或私有的良好和有效的原因,这些私人/受保护的方法是相对复杂的,并且在类的公共方法依赖于这些保护/私有方法正常工作,所以我需要一种方法来测试受保护/私有方法.

还有一件事......我通常将给定类的所有方法放在一个文件中,然后单元在另一个文件中测试该类.理想情况下,我希望将所有"受保护和私有方法的单元测试"功能实现到单元测试文件而不是主要源文件中,以保持主源文件尽可能简单明了.

ruby unit-testing private protected

132
推荐指数
8
解决办法
3万
查看次数

为什么我们不应该在java中使用protected static

我正在经历这个问题有没有办法在Java中覆盖类变量? 36条赞成票的第一条评论是:

如果你看过protected static,跑.

任何人都可以解释为什么protected static不赞成?

java oop inheritance static protected

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

为什么Java的AbstractList的removeRange()方法受到保护?

有没有人有任何想法,为什么AbstractList(以及在ArrayList中)中的removeRange方法是protected?它看起来像一个非常明确和有用的操作,但是,使用它,我们仍然被迫继承List实现.

有一些隐藏的理由吗?对我来说似乎很莫名.

java collections list protected arraylist

96
推荐指数
1
解决办法
3万
查看次数

你应该使用受保护的成员变量吗?

你应该使用受保护的成员变量吗?有什么优势,这会带来什么问题?

oop protected

94
推荐指数
7
解决办法
6万
查看次数

"包私有"成员访问是否与默认(无修饰符)访问同义?

我对一些文档使用的术语"包私有"以及"默认访问"的使用感到有些困惑.包私有和默认访问都不是protected的同义词吗?

java terminology protected access-modifiers package-private

93
推荐指数
3
解决办法
7万
查看次数

Rails中的受保护和私有方法

Ruby(公共,受保护和私有方法)中的方法可见性已经在像这篇博客文章这样的地方得到了很好的解释.但是在Ruby on Rails中,由于框架的设置方式,它似乎与常规Ruby应用程序略有不同.那么,在Rails模型,控制器,帮助器,测试等中,何时/不适合使用受保护或私有方法?

编辑:感谢您的答案到目前为止.我理解Ruby中的protected和private的概念,但我正在寻找更多关于在Rails应用程序的各个部分(模型,控制器,帮助程序,测试)的上下文中使用这些类型的可见性的典型方式的解释.例如,公共控制器方法是操作方法,应用程序控制器中的受保护方法用于需要由多个控制器访问的"辅助方法"等.

ruby visibility private ruby-on-rails protected

81
推荐指数
3
解决办法
8万
查看次数

受保护的构造函数的实际用途是什么?

为什么有人声明构造函数受到保护?我知道构造函数被声明为私有,目的是不允许在堆栈上创建它们.

c++ constructor protected

78
推荐指数
7
解决办法
6万
查看次数

为什么不能将类定义为受保护的?

我知道这是一个愚蠢的问题,但我仍然怀疑需要清除.

我的问题是,为什么我们不能将课程定义为protected

我知道我们不能,但为什么呢?应该有一些具体的原因.

java class protected

74
推荐指数
3
解决办法
8万
查看次数