f() abstract public method

abstract public f ( ) : integer
return integer
Esempio n. 1
0
 function cf()
 {
     A1::f();
     A2::f();
     \A1::f();
     \A2::f();
     B::f();
     C::f();
 }
Esempio n. 2
0
[EXPECT php]

[FILE]
<?php 
class A
{
    function f()
    {
        echo "f";
    }
}
class B extends A
{
    function f()
    {
        parent::f();
    }
}
$b = new B();
$b->f();
Esempio n. 3
0
[expect] ahoj 

[file]
<?php 
eval('class A { function f() { echo "ahoj"; } }');
class B extends A
{
}
B::f();
[expect php]
[file]
<?php 
$a = array("");
$a[0][0] = "f";
var_dump($a);
$a = array("bubu");
@($a[0][0] = "xyz");
var_dump($a);
class C
{
    public $f;
}
$c = new C();
$c->f = "kuku";
$c->f[2] = "x";
var_dump($c);
class B
{
    static $f;
}
B::$f = "hello";
B::$f[3] = "x";
var_dump(B::$f);
eval('class A { static $f; }');
A::$f = "hello";
A::$f[3] = "x";
var_dump(A::$f);
Esempio n. 5
0
<?php

class A
{
    function f() : int
    {
        return 42;
    }
}
class B
{
    function g() : string
    {
        return 'string';
    }
}
$a = new A();
print $a->g();
print $a->f();
$a = new B();
print $a->g();
print $a->f();
Esempio n. 6
0
$x = $c[2];
print "$x\n";
*/
class B
{
    function f(int $a) : int
    {
        return $a;
    }
    // @return int[]
    function g()
    {
        return [1, 2, 3];
    }
    /**
     * @return string[]
     */
    function h()
    {
        return ['a', 'b', 'c'];
    }
}
$e = new B();
/*
$x = $e->f($e->g()[1]);
print "$x\n";
*/
// Should be of type string
$f = $e->h()[2];
$x = $e->f($f);
print "{$x}\n";
<?php

class A
{
    public static function f()
    {
        return function () {
            var_dump(self::class);
            var_dump(static::class);
        };
    }
}
class B extends A
{
}
$f = B::f();
$f();
$g = $f->bindTo(null, A::class);
$g();
$foo = function () {
    var_dump(self::class);
    var_dump(static::class);
};
$bar = $foo->bindTo(null, A::class);
$bar();
Esempio n. 8
0
<?php

class A
{
    static function f()
    {
        return new static();
    }
    static function g($o)
    {
        return $o instanceof static;
    }
}
class B extends A
{
}
var_dump(A::g(A::f()));
var_dump(A::g(B::f()));
var_dump(B::g(A::f()));
var_dump(B::g(B::f()));
Esempio n. 9
0
<?php

class A
{
    function f()
    {
    }
}
class B
{
    function g()
    {
    }
}
$v = new A();
if (rand(0, 1) > 0) {
    $v = new B();
    $v->g();
} else {
    $v->f();
}
if (rand(0, 1) > 0) {
    $v = new A();
    $v->g();
} else {
    $v = new B();
    $v->f();
}
Esempio n. 10
0
 function g()
 {
     echo "Z::g -- this: |" . get_class($this) . "|\n";
     B::f();
 }