public/private/protected的具体区别
发布网友
发布时间:2022-04-23 03:18
我来回答
共11个回答
热心网友
时间:2022-04-12 14:23
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何*,而对于其他的外部class,protected就变成private。
扩展资料:
三种类型的继承,父类的成员均被子类继承(之前的百科关于这点的描述是错误的),只是由类实例化的对象对其继承的成员的访问权限会有所变化。三种不同方式的继承,描述的是子类实例化对象对其成员的访问权限,并非是描述子类时,子类对继承自父类的成员的访问权限。
公有继承 继承自父类的成员保持不变。
私有继承 继承自父类的成员全部变为私有成员。
保护继承 继承自父类的公有成员变为保护成员,其余不变。
参考资料:类百度百科
热心网友
时间:2022-04-12 15:41
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
1.首先是public修饰符来修饰的函数,是指这个函数可以被其他的类来调用,也可以被自己类里的函数来调用。
2.再看protected修饰符来修饰的函数,是指这个函数可以被继承类调用,也可以被自己类里的函数调用,但不能被其他的类调用。
3.用private修饰符来修饰的函数,就具有更少的权限了,只能被自己类里的其他函数调用,其他的一概不能调用。
热心网友
时间:2022-04-12 17:16
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何*,而对于其他的外部class,protected就变成private。
扩展资料:
三种类型的继承,父类的成员均被子类继承(之前的百科关于这点的描述是错误的),只是由类实例化的对象对其继承的成员的访问权限会有所变化。三种不同方式的继承,描述的是子类实例化对象对其成员的访问权限,并非是描述子类时,子类对继承自父类的成员的访问权限。
公有继承 继承自父类的成员保持不变。
私有继承 继承自父类的成员全部变为私有成员。
保护继承 继承自父类的公有成员变为保护成员,其余不变。
参考资料:类百度百科
热心网友
时间:2022-04-12 19:07
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何*,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
注:不写时默认为friendly
热心网友
时间:2022-04-12 21:15
public
公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问
private
私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问
protected
保护,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问
热心网友
时间:2022-04-12 23:40
1楼回答得很全面了,如果还不明白,就是public是公共的,其它的类都可以访问。
private是私有变量私有类,只有在本类中访问,其它类是无权访问的,除了声明为友元。
project类是保护的类是介于public和private之间的,也就是继承拥有project成员的类的子类可以访问保护成员。
热心网友
时间:2022-04-13 02:21
公有成员public member
在程序的任何地方都可以被访问实行信息隐藏的类将
其public 成员*在成员函数上这种函数定义了可以被一般程序用来操纵该类类
型对象的操作
私有成员private member
只能被成员函数和类的友元访问实行信息隐藏的类把
其数据成员声明为private
被保护成员protected member
对派生类derived class 就像public 成员一样
对其他程序则表现得像private
热心网友
时间:2022-04-13 05:19
。。。。。。。。
热心网友
时间:2022-04-13 08:34
1/10 分步阅读
首先明确这三个权限修饰符的可访问范围:
public是公开的,类内类外均可访问;
protected是受保护的,只有在本类和子类的内部可以访问;
private是私有的,只有本类的内部可以访问
2/10
新建一个PHP文档,并定义一个类,示例:
<?php
// 定义一个类
class Stu
{
// 定义一个公共的属性
public $name = '小花';
// 定义一个受保护的属性
protected $age = 18;
// 定义一个私有的属性
private $sex = 'female';
}
3/10
在定义一个Stu的子类,子类为空,不写任何属性和方法,示例:
class Stu007 extends Stu{ }
4/10
将两个类分别实例化一个对象,示例:
$stu = new Stu();
$stu007 =new Stu007();
5/10
分别访问父类Stu的三个属性,示例:
echo "公共的Public".$stu->name.'<br />';
echo "保护的Protected".$stu->age.'<br />';
echo "私有的Prrivate".$stu->age.'<br />';
6/10
在浏览器预览之后,只有Public修饰符可以在类内和类外可以访问,其他两个直接报错,脚本退出运行
7/10
如若想要运行protected和private修饰的属性,可以在类内新建一个公共的访问作为借口用于访问,修改Stu007类,示例:
class Stu007 extends Stu
{
public function display()
{
return $this->age;
}
}
8/10
访问子类的受保护的属性,示例:
echo "保护的Protected".$stu007->display().'<br />';
9/10
在浏览器查看效果,
10/10
private修饰的属性和方法,只有在本类的内部可以访问,这里不做演示了,具体参考protected的操作
热心网友
时间:2022-04-13 12:05
10 public/private/protected的具体区别
好快啊但是我看不懂补充一下这个问题是指在JAVA
热心网友
时间:2022-04-13 15:53
public
公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问
private
私有的,和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问
protected
保护,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。
还有一个默认缺省的(就是不加任何修饰的)
缺省,位于private和protected中间,加上这个修饰的属性和方法,只能在同包下的程序访问,别的的地方不能访问。