标签: protected

输入中的"保护"文本框值(HTML表单)

我想知道是否可以为HTML文本框分配值并保护它.

我的意思是让它的内容不可修改,以便当表单被提交时,我确定这是提交的这个值.

顺便说一下,我意识到更简单的方法就是不要"听"这个输入并只是分配它,但是能够做到上面说明的事情会派上用场.

我希望这个问题很清楚,请提出任何必要的澄清.

提前致谢!

编辑:我当然不够清楚,但我试图表示我应该在提交后保留该值(在客户端不可修改)

html forms protected assign

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

C#:在密封类中模拟和测试受保护(或私有)方法 - 方法

我有一个带有受保护方法的密封类,我想测试它的行为.这使得很难直接测试,很难模拟.

它位于不是以TDD方式开发的代码库中,我现在正在为特定功能添加单元测试.

在这种情况下可能的一般方法是什么?目前我有:

  1. 让课程开封.然后在我们的测试代码中创建从类派生的代理或适配器,以便对受保护方法进行隧道访问.
  2. 将受保护方法中的行为分解为委托/仿函数,然后重新注入它.然后独立测试分解出的行为.
  3. 通过调用使用受保护方法的继承层次结构中最近的公共方法进行测试.潜在地导致大量的嘲弄,并且当测试之外的代码发生变化时会面临风险 - 创建脆弱的测试.
  4. 使用反射来访问受保护的方法.然后直接调用它.

还有吗?

c# unit-testing protected sealed

5
推荐指数
1
解决办法
5426
查看次数

PHP5受保护变量背后的推理

你能解释为什么我想在PHP5中的某些类变量和方法上使用"protected"与"public"或"private"的原因是什么?我还没有找到一个案例,我认为我需要"受保护",并根据意图选择"公开"或"私人".即使在团队合作中,我仍然没有找到一个案例(基于我迄今为止的知识)为什么"受保护"对于类变量和方法是必要的.

php protected

5
推荐指数
1
解决办法
615
查看次数

在Objective-C中保护@protected

我有一个简单的课程:

#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)

问题是我不能_fetchedResultsControllerMyChildTableViewController课堂上使用.我得到编译时错误:'_fetchedResultsController'未声明(在此函数中首次使用)

这有什么不对?

inheritance protected objective-c ios

5
推荐指数
1
解决办法
3401
查看次数

在派生类中无法访问受保护的成员

为什么基类中的受保护成员在派生类中无法访问?

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)

c++ inheritance protected private-members

5
推荐指数
1
解决办法
5235
查看次数

命名空间内受保护的内部类编译时没有错误

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)

是这些编译器错误还是我对标准的误解?

说明:

  1. 根据MSDN,类不能具有受保护的内部访问修饰符,只有公共或内部(直接在命名空间内声明的类和结构(换句话说,不嵌套在其他类或结构中)可以是公共的或内部的.如果未指定访问修饰符,则内部为默认值).
  2. 并非所有上下文中的所有类型或成员都可以使用所有访问修饰符,并且在某些情况下,类型成员的可访问性受其包含类型(MSDN)的可访问性的约束.公众应该失败.受保护的内部对我来说是不明确的 - 内部修饰符不是必需的.

编辑:我使用Mono的事实是不必要的,因为问题是关于标准说什么而不是MONO做什么或不做什么.也许我正在编写自己的编译器.这就是为什么我引用MSDN准确地说是允许什么和不允许什么.

.net c# mono protected internal

5
推荐指数
1
解决办法
5332
查看次数

方法无法访问同一个类的成员变量(C++)

我写了一个简短的程序来说明我学校项目的继承原则,但我遇到了一个奇怪的问题.这是我的代码:(我省略了所有不是问题的代码)

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)

我不知道这个错误意味着什么,我希望有人可以帮助我.

c++ static class protected

5
推荐指数
1
解决办法
1990
查看次数

使用googletest测试受保护的成员

googletesting时我对继承感到困惑.我有一个class Aprotected属性.如果我想访问那些我必须扩展该类,但同时我还需要扩展public ::testing::Test为唯一的目的gtest.

这个问题最优雅的解决方案是什么?我也试图避免#define protected public

c++ testing inheritance protected googletest

5
推荐指数
2
解决办法
5632
查看次数

受保护的成员与重载运算符冲突

我有以下课程:

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 在这种情况下受到保护

我认为受保护的变量可以在公共继承下从派生类访问.导致此错误的原因是什么?

c++ inheritance class protected

5
推荐指数
1
解决办法
496
查看次数

C++ protected:无法从派生类中访问base的受保护成员

不可否认,这个问题标题听起来与迈克一再提出的邻居问题完全相同.我发现了很多相同问题的问题,但没有一个是我的问题.

首先,我想澄清一下这个问题的背景:

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)

c++ inheritance protected access-control

5
推荐指数
1
解决办法
1098
查看次数