PHP中一个子类继承父类后,如何获取父类中的该private声明的属性呢???
父类中有一私有属性name,子类继承了父类后,该属性在子类中有没存在?若存在对于子类中可见不可见?若不可见,应该如何操作能获取该属性的值?...
父类中有一私有属性name,子类继承了父类后,该属性在子类中有没存在?若存在对于子类中可见不可见?若不可见,应该如何操作能获取该属性的值?
展开
2个回答
展开全部
私有属性 谁都不可见 不能直接用 在子类中不可用
所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。
public class A {
private int a;
public int getA(){
return a;
}
public void setA(int a){
this.a=a;
}
}
public class B extends A{
private int b;
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
}
public class C extends B {
private int c;
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
}
那么当C c1=new C()时。c1可以使用setA()getA()访问控制从A类中继承来的私有属性a;
所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。
public class A {
private int a;
public int getA(){
return a;
}
public void setA(int a){
this.a=a;
}
}
public class B extends A{
private int b;
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
}
public class C extends B {
private int c;
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
}
那么当C c1=new C()时。c1可以使用setA()getA()访问控制从A类中继承来的私有属性a;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询