Сегодня я начал работать над небольшим Java-приложением. У меня есть некоторый опыт работы с PHP OOP, и в основном принцип один и тот же. Хотя я думал, что это должно применяться в обоих направлениях.
Но, например, ключевое слово this
используется по-разному, как я понимаю.
В Java
class Params
{
public int x;
public int y;
public Params( int x, int y )
{
this.x = x;
this.y = y;
}
public void display()
{
System.out.println( "x = " + x );
System.out.println( "y = " + y );
}
}
public class Main
{
public static void main( String[] args )
{
Params param = new Params( 4, 5 );
param.display();
}
}
В то же время в PHP нужно сделать то же самое
<?php
class Params
{
public $x;
public $y;
public function __construct( $x, $y )
{
$this->x = $x;
$this->y = $y;
}
public void display()
{
echo "x = " . $this->x . "\n";
echo "y = " . $this->y . "\n";
}
}
class Main
{
public function __construct()
{
$param = new Params( 4, 5 );
$param->display();
}
}
$main = new Main();
?>
Я просто хотел бы спросить, есть ли другие различия в ключевом слове this
?
Поскольку я вижу, что в Java он используется для возврата экземпляра измененного объекта и, если я передаю аргумент с тем же именем, что и атрибут в классе. Затем, чтобы присвоить значение, мне нужно четко показать, что является аргументом и что является атрибутом класса. Например, как показано выше: this.x = x;