在下面的程序中最后一个语句echo $ objb-> test; 不应该输出任何值.第二个最后一个语句应该抛出一个错误,说无法访问私有成员.但是,我在运行程序时获得输出20.
由于PHP是松散类型的语言,因此$ objb在类外创建一个新变量...
<?php
error_reporting(E_ALL);
class A {
public $a;
private $test;
protected function sayhello(){
echo "<p>hello class A</p>";
}
}//end of class A
class B extends A {
//private $c;
public function sayhellonew(){
$this->sayhello();
echo "<p>hello class B</p>";
}
}//end of class B
$objb = new B();
$objb->sayhellonew();
$objb->a = 10;
echo $objb->a;
echo "<br>";
$objb->test = 20;
echo $objb->test;
?>
Run Code Online (Sandbox Code Playgroud)
输出 我得到输出20为什么它工作?
我的谷歌文档在打开谷歌表格文件时应该提示一个登录框,并且根据密码,它应该显示一个特定的选项卡。例如,对于“password1”,它应该允许用户仅看到选项卡“Sheet1”,而其他工作表应该被隐藏。同样,对于“password2”,它应该允许用户仅查看和处理选项卡“Sheet2”。
我尝试运行以下代码,但它显示一些错误。
function showLoginDialog() {
var sheet3 = SpreadsheetApp.getActiveSheet('Sheet3');
sheet3.hideSheet();
var sheet2 = SpreadsheetApp.getActiveSheet('Sheet2');
sheet2.hideSheet();
var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet('Sheet1');
var ui = SpreadsheetApp.getUi();
var prompt = ui.prompt('Password','Enter Password',ui.ButtonSet.OK_CANCEL);
var response = prompt.getResponseText();
var button = prompt.getSelectedButton();
if(button==ui.Button.OK) {
if(response=='pwd3') {
sheet3.activate();
}//end of inner if
if(response=='pwd2'){
sheet2.activate();
}
}//end of main if
}//end of function
Run Code Online (Sandbox Code Playgroud)
Google 表格文件在打开时应要求输入密码,并且应根据密码显示相应的工作表。