java 與眾不同
public class T_8 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
T8_A a;
T8_B b;
a = new T8_B();
out.println(a.getName());
b = (T8_B)a;
out.println(b.getName());
}
}
class T8_A{
String name = "A";
public String getName(){
return name;
}
}
class T8_B extends T8_A{
String name = "B";
}
// 答案都是 A
----------------------------------------------------------------------
<?php
class A {
public $name = "A";
public function getName() {
return $this->name;
}
}
class B extends A {
public $name = "B";
}
$b = new B();
printf("%s", $b->getName());
// 答案是 B
----------------------------------------------------------------------
function A(){
this.name = "A";
}
(function(){
this.getName = function(){
return this.name;
};
}).call(A.prototype);
//-------------------------------
function B(){
A.call(this);
this.name = "B";
}
B.prototype = Object.create(A.prototype);
//-------------------------------
console.log((new B()).getName());
// 答案是 B
----------------------------------------------------------------------
class A:
def __init__(self):
self.name = "A"
def getName(self):
return self.name;
class B(A):
def __init__(self):
self.name = "B"
b = B()
print("%s"%b.getName())
// 答案是 B
----------------------------------------------------------------------