php私有成员private的程序题目

class base
{
  private $member;

  function __construct()
  {
      echo __METHOD__ . "(begin)\n";
    $this->member = ‘base::member‘;
    $this->test();
      echo __METHOD__ . "(end)\n";
  }

  function test()
  {
      echo __METHOD__ . "\n";
    print_r($this);
  }
}

class derived extends base
{
  public $member = ‘derived::member (default)‘;

  function __construct()
  {
      echo __METHOD__ . "(begin)\n";
      parent::__construct();
      parent::test();

      $this->test();
    $this->member = ‘derived::member‘;
      echo __METHOD__ . "(end)\n";
  }

  function test()
  {
      parent::test();
      echo __METHOD__ . "\n";
    print_r($this);
  }
}

$t = new derived();
$t->test();
unset($t);

打印结果为:

 1 derived::__construct(begin)
 2 base::__construct(begin)
 3 base::test
 4 derived Object
 5 (
 6     [member] => derived::member (default)
 7     [member:base:private] => base::member
 8 )
 9 derived::test
10 derived Object
11 (
12     [member] => derived::member (default)
13     [member:base:private] => base::member
14 )
15 base::__construct(end)
16 base::test
17 derived Object
18 (
19     [member] => derived::member (default)
20     [member:base:private] => base::member
21 )
22 base::test
23 derived Object
24 (
25     [member] => derived::member (default)
26     [member:base:private] => base::member
27 )
28 derived::test
29 derived Object
30 (
31     [member] => derived::member (default)
32     [member:base:private] => base::member
33 )
34 derived::__construct(end)
35 base::test
36 derived Object
37 (
38     [member] => derived::member
39     [member:base:private] => base::member
40 )
41 derived::test
42 derived Object
43 (
44     [member] => derived::member
45     [member:base:private] => base::member
46 )
47 Done
时间: 2024-08-03 14:59:37

php私有成员private的程序题目的相关文章

c++访问私有(private)成员变量的常用方法

类的对象不能直接访问类声明的私有成员变量,否则破坏了信息隐藏的目的. 在C++中,为了防止某些数据成员或成员函数从外部被直接访问,可以将它们声明为private,这样编译器会阻止任何来自外部非友元的直接访问. 私有成员变量的常用访问方法如下: (1)通过公共函数为私有成员赋值 #include <iostream> using namespace std; class Test { private: int x, y; public: void setX(int a) { x=a; } voi

JavaSE7基础 通过公有的成员方法 去过滤 要赋给私有成员变量的值

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Test{ private int age;//只能在本类中访问 //公有的成员方法 去过滤 要赋给私有成员变量的值 public void setAge(int age){ if(age<0 || age>120){ System.out.println("年龄赋值有误"); this.age=0; }else { System.out.println(&

有关java中私有成员能否被继承的问题

写程序中,无意中想到这个问题,随手搜了一下,发现大家对这个问题的看法不一 先看一下官方文档 http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html What You Can Do in a Subclass A subclass inherits all of the public and protected members of its parent, no matter what package the subcla

C#箴言之用属性来访问类的私有成员

在程序中,难免要访问某个对象的私有成员.那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可:而另一个就是提供公有的成员访问函数来进行访问.那么现在用C#编写程序,就不再需要采用前面所说的两种方法了,而直接使用属性来完成. 首先来看看三种方法的如何实现以及调用的,这里用一个例子来说明,即访问“EmployeeInfo”类的私有成员strName,具体如下表格所示. 那么这三种方法有什么区别呢,用如下的表格,可以更好的说明三者的区别. 因

【C++】【一日一练】通过友元访问或改变类的私有成员【20140508】

题目来源:Beginners Lab Assignments Code Examples Accessing Private Data Members in C++. This is a flaw in the language /* **Description: Accessing Private Data Members in C++ **Date:2014-05-08 **Author:xyq */ #include <iostream> #include <string>

通过指针访问C++对象的私有成员

C++对象的私有成员是禁止类外的访问的.但是我们仍然可以通过指针访问C++对象的私有成员. #include <iostream> using namespace std; class A { public: A(int i = 0) :m_i(i) {} void print() { cout << "m_i" << this->m_i << endl; } private: int m_i; }; int main(int ar

通过反射,如何操作私有成员变量(取/赋值),如何调用私有方法?

Java的反射工具很强大,有句著名的话:No reflection ,no frameworks. 工作中直到涉及到UT,才体会到它的重要性,现归纳整理一个小例子: 反射工具类: 1 import java.lang.reflect.Field; 2 import java.lang.reflect.InvocationTargetException; 3 import java.lang.reflect.Method; 4 5 public class ReflectionUtil { 6 7

面向对象的JavaScript(3):私有成员和公开成员

在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScript的工作量胜过了C#,这时写一堆function,就会显得很乱,杂乱无章,甚至会出现命名冲突,管理和维 护起来都很麻烦.对于这种情况我们就需要使用面向对象的思想来开发JavaScript.那我们就这样作罢: 这节来说下JavaScript的私有成员和公开成员,虽然JavaScript没有privat

c++继承详解:共有(public)继承,私有继承(private)继承,保护(protected)继承

公有继承(public)继承.私有继承(private).保护继承(protected)是常用的三种继承方式. 1.公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问. 2.私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问. 3.保护继承 保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,