我想知道是否可以为HTML文本框分配值并保护它.
我的意思是让它的内容不可修改,以便当表单被提交时,我确定这是提交的这个值.
顺便说一下,我意识到更简单的方法就是不要"听"这个输入并只是分配它,但是能够做到上面说明的事情会派上用场.
我希望这个问题很清楚,请提出任何必要的澄清.
提前致谢!
编辑:我当然不够清楚,但我试图表示我应该在提交后保留该值(在客户端不可修改)
我有一个带有受保护方法的密封类,我想测试它的行为.这使得很难直接测试,很难模拟.
它位于不是以TDD方式开发的代码库中,我现在正在为特定功能添加单元测试.
在这种情况下可能的一般方法是什么?目前我有:
还有吗?
你能解释为什么我想在PHP5中的某些类变量和方法上使用"protected"与"public"或"private"的原因是什么?我还没有找到一个案例,我认为我需要"受保护",并根据意图选择"公开"或"私人".即使在团队合作中,我仍然没有找到一个案例(基于我迄今为止的知识)为什么"受保护"对于类变量和方法是必要的.
我有一个简单的课程:
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
@interface MyTableViewController : UITableViewController
{
@protected
NSFetchedResultsController *_fetchedResultsController;
}
Run Code Online (Sandbox Code Playgroud)
还有一个:
#import <UIKit/UIKit.h>
@interface MyChildTableViewController : MyTableViewController
{
}
- (void)someMethod;
Run Code Online (Sandbox Code Playgroud)
问题是我不能_fetchedResultsController在MyChildTableViewController课堂上使用.我得到编译时错误:'_fetchedResultsController'未声明(在此函数中首次使用)
这有什么不对?
为什么基类中的受保护成员在派生类中无法访问?
class ClassA
{
public:
int publicmemberA;
protected:
int protectedmemberA;
private:
int privatememberA;
ClassA();
};
class ClassB : public ClassA
{
};
int main ()
{
ClassB b;
b.protectedmemberA; // this says it is not accesible, violation?
//.....
}
Run Code Online (Sandbox Code Playgroud) protected internal class foo
{
//this compiles without any errors
}
Run Code Online (Sandbox Code Playgroud)
也
internal class bar
{
public int quix;
protected internal int zyx;
//this compiles without any errors
}
Run Code Online (Sandbox Code Playgroud)
是这些编译器错误还是我对标准的误解?
说明:
编辑:我使用Mono的事实是不必要的,因为问题是关于标准说什么而不是MONO做什么或不做什么.也许我正在编写自己的编译器.这就是为什么我引用MSDN准确地说是允许什么和不允许什么.
我写了一个简短的程序来说明我学校项目的继承原则,但我遇到了一个奇怪的问题.这是我的代码:(我省略了所有不是问题的代码)
class Car
{
protected:
double fuelLevel;
public:
void fuelUp(double);
};
void fuelUp(double fuel)
{
Car::fuelLevel += fuel;
}
Run Code Online (Sandbox Code Playgroud)
这是构建日志:
||=== Build: Debug in wierdError (compiler: GNU GCC Compiler) ===|
||In function 'void fuelUp(double)':|
|4|error: 'double Car::fuelLevel' is protected|
|11|error: within this context|
|4|error: invalid use of non-static data member 'Car::fuelLevel'|
|11|error: from this location|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Run Code Online (Sandbox Code Playgroud)
我不知道这个错误意味着什么,我希望有人可以帮助我.
googletesting时我对继承感到困惑.我有一个class A有protected属性.如果我想访问那些我必须扩展该类,但同时我还需要扩展public ::testing::Test为唯一的目的gtest.
这个问题最优雅的解决方案是什么?我也试图避免#define protected public
我有以下课程:
class Base {
protected:
int myint;
};
class Derived : public Base {
public:
bool operator==(Base &obj) {
if(myint == obj.myint)
return true;
else
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
但是当我编译它时,它会出现以下错误:
int Base::myint在这种情况下受到保护
我认为受保护的变量可以在公共继承下从派生类访问.导致此错误的原因是什么?
不可否认,这个问题标题听起来与迈克一再提出的邻居问题完全相同.我发现了很多相同问题的问题,但没有一个是我的问题.
首先,我想澄清一下这个问题的背景:
1,c ++访问控制基于类而不是基于实例.因此,以下代码完全有效.
class Base
{
protected:
int b_;
public:
bool IsEqual(const Base& another) const
{
return another.b_ == b_; // access another instance's protected member
}
};
Run Code Online (Sandbox Code Playgroud)
2,我完全理解为什么以下代码无效 - 另一个代码可能是兄弟实例.
class Derived : public Base
{
public:
// to correct the problem, change the Base& to Derived&
bool IsEqual_Another(const Base& another) const
{
return another.b_ == b_;
}
};
Run Code Online (Sandbox Code Playgroud)
现在是时候卸载我真正的问题了:
假设在Derived类中,我有一个Base实例数组.如此有效,Derived IS A Base(IS-A关系),Derived由Base(复合关系)组成.我从某个地方读到这个(指的是IS-A和Has-A的设计)是一种设计气味,我首先应该永远不会有这样的场景.嗯,例如,Fractals的数学概念可以通过IS-A和Has-A关系建模.但是,让我们暂时忽略对设计的看法,只关注技术问题.
class Derived : public Base
{
protected:
Base base_;
public:
bool IsEqual_Another(const Derived& another) …Run Code Online (Sandbox Code Playgroud) protected ×10
c++ ×5
inheritance ×5
c# ×2
class ×2
.net ×1
assign ×1
forms ×1
googletest ×1
html ×1
internal ×1
ios ×1
mono ×1
objective-c ×1
php ×1
sealed ×1
static ×1
testing ×1
unit-testing ×1