子类从父类继承过来的方法可以操作子类自己定义的成员变量吗

如题所述

一楼回答的不错。如果我回答的话,这样说,
1.首先当子类继承了父类,因此子类(当继承方式为public或protected时)可以访问及改动父类的public成员,但访问或改不了私有成员和不可访问变量;
2.但父类没继承子类,所以父类没有权利访问(操作)子类的成员变量;

但是你的你想用父类的函数来访问(操作)子类成员的话,可以在子类再定义一个父类的同样一个函数,用虚函数;然后用父类指针指向子类对象,来解决你的问题。这个后面再学的学的知识,现在暂时可以认为“不能操作子类自己定义的成员变量”。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-15
你好,一楼回答的不错。如果我回答的话,这样说,
1.首先当子类继承了父类,因此子类(当继承方式为public或protected时)可以访问及改动父类的public成员,但访问或改不了私有成员和不可访问变量;
2.但父类没继承子类,所以父类没有权利访问(操作)子类的成员变量;

但是你的你想用父类的函数来访问(操作)子类成员的话,可以在子类再定义一个父类的同样一个函数,用虚函数;然后用父类指针指向子类对象,来解决你的问题。这个后面再学的学的知识,现在暂时可以认为“不能操作子类自己定义的成员变量”。本回答被提问者和网友采纳
第2个回答  2011-03-30
你这个问题其实问的不太专业,我猜应该是c++初学者吧。
如果按照你的意思的话,你就是重载了父类的该方法,这时是可以操作子类定义的变量的。
第3个回答  2011-03-31
.jackshow.parent;

public class Point {

private String x;
private String y;

/**
* 默认构造函数
*/
public Point(){

}

public String getX() {
return x;
}

public void setX(String x) {
this.x = x;
}

public String getY() {
return y;
}

public void setY(String y) {
this.y = y;
}
}

package net.jackshow.child;

import net.jackshow.parent.Point;

public class Point3D extends Point{

static int c=0;

public Point3D(){
super();
c++;
}

public static void main(String[] args){
Point3D child = new Point3D();
Point3D child1 = new Point3D();
System.out.println("x="+child.getX()+",y="+child.getY()+",c="+c);
}
}

第3,你在class前面加上abstract,接口则把class改为interface,然后变量全部改为public的

子类从父类继承过来的方法可以操作子类自己定义的成员变量吗
2.但父类没继承子类,所以父类没有权利访问(操作)子类的成员变量;但是你的你想用父类的函数来访问(操作)子类成员的话,可以在子类再定义一个父类的同样一个函数,用虚函数;然后用父类指针指向子类对象,来解决你的问题。这个后面再学的学的知识,现在暂时可以认为“不能操作子类自己定义的成员变...

子类继承父类怎么在父类的方法中访问子类的变量
而想实现“动态绑定”,必须有继承、重写且父类引用指向子类对象,满足了这3条就属于“动态绑定”,而它的好处就是像你说的那样,父类引用访问的是子类对象的方法,你看下边的例子吧:public class A{ public static void main(String args[]) { A a=new B(); print(a instanceof A)...

c++ 父类指针转换为子类指针后调用子类的成员函数,为什么可以调用成功...
其实也好理解,子类对象的类型与其父类的类型是共通的,他就是从父类继承来的,如果把子类比父类新增的成员变量或成员函数去掉,他就是一个父类的对象,当然可以调用自己的方法 不过,一般多态不是楼主这么用的,\\一般是用来参数传递上,比如一个方法,要对他传的的参数是一个父类的类型的对象,然后这个方法...

Java中子类继承父类,那么子类继承的东西是不是复制一份放到子类的类信息...
当子类继承父类后,本质上是通过指针来访问父类中的方法和成员。如果你学过 C 或者 C++对指针有了解,就更容易理解继承了;

java子类继承父类 ,父类调用子类的属性和方法吗?
父类不能调用子类的方法,子类方法是在子类中扩展出来的,而不是从父类继承而来的,但如果是覆盖父类方法,父类就可以调用。给你一个例子吧:public class A { public void a(); } public class B extends A { @Override public void a(); public void b(); }在这个例子...

C++问题 基类的成员函数 是否可以调用子类的成员函数
应该说不可以的 这个涉及到对象问题 一般来说对于父类来说他有多少方法子类都能用,但是父类没有的子类有的父类不能用 你说把子类设置成普通类是默认的强制类型转换吧 C++在有些方面限制的比较松 以前学过点 忘得差不多了

子类可以继承父类的成员变量
在面向对象编程中,父类是一个通用的模板,它定义了一系列属性和方法,子类则可以基于父类进行扩展和特殊化。成员变量是父类中的属性,可以用于存储对象的状态信息。子类可以通过继承父类的成员变量,便于在子类中直接访问和操作这些状态信息,从而有效地利用已有的代码和数据结构。子类继承父类的成员变量的...

在继承关系中,子类会自动继承父类中的方法
在继承关系中,子类继承父类,子类是一个特殊的父类,子类会自动继承父类定义的变量、方法,在进行扩展时,大多数情况下,子类是在父类的基础上添加一些自己的变量、方法,但有些时候子类需要对继承来的方法进行一些修改,即对父类的方法进行重写。《中华人民共和国民法典》:第一千一百一十九条 本编...

C++中父类方法中可以调用子类的方法吗?
不可以。继承实际上是将父类中的成员拷贝一份,添加到子类中。这个过程对父类本身没有造成改变。也就是父类中是没有子类的方法的,也就无法调用了。在一种特殊情况下,可以用父类的指针指向子类对象,然后用这个指针可以调用子类中的函数。这属于多态的范畴,实际上还是子类对象调用子类方法,与题主给...

java父类怎么访问子类数据成员?
’父类的属性或方法就可以了,但是,父类受私有的方法是调用不到的……举个例子吧(借的一个例子,改了点): class Animal { \/\/ 父类 public int i = 100; \/\/ 属性,也就是成员变量 public void run() { System.out.println("动物跑");} } class Dog extends Animal { \/\/ 子类 Over...

相似回答