В принципе, когда родительский класс имеет дочерний элемент, дочерний класс должен полностью выглядеть как его родитель, иначе «Как вы можете назвать их родителем и ребенком?» правильно? В любом случае, дочернему классу разрешено иметь поведение, отличное от его родителя. Это действительно разумно и естественно.
Но если вы хотите переопределить атрибут из дочернего класса, вы можете сделать это с помощью механизма конструктора
Пример кода
class Animal{
String name;
public Animal(){
name = "Animal";
}
public Animal(String name){
this.name = name;
}
public void print(){
System.out.println("I am an: "+name);
}
}
class Dog extends Animal{
Dog(){
super("Dog");
}
public void print(){
System.out.println("I am a: "+name);
}
}
Вы увидите, что имя атрибута "Dog"
в классе Dog
передается через конструктор, который здесь можно вызвать конструктор родительского класса через ключевое слово super
.
Результаты:
Animal object name: Animal
Dog1 object name: Dog
Dog2 object name: Dog
I am an: Animal
I am a: Dog
I am a: Dog
Посмотрите на ATen
Он предоставляет операции Тензора в Torch и PyTorch в C ++ 11. В README вы должны найти всю необходимую информацию.
Я не думаю, что возможно знать функцию C ++, связанную с функцией Python вообще.