Comparison of Programming Languages (object-oriented Programming) - Member Availability

Member Availability

Has member? Handler for missing member
Method Field Method Field
ABAP Objects
C++ (STL)
Objective-C (Cocoa) forwardInvocation:
Smalltalk x respondsTo: selector doesNotUnderstand:
C# (using reflection)
Java
D opDispatch
Eiffel
Python hasattr(x, "method") and callable(x.method) hasattr(x, "field") __getattr__
Visual Basic .NET (using reflection)
Windows PowerShell (using reflection)
F# (using reflection)
Ruby x.respond_to?(:method) method_missing
PHP method_exists(x, "method") property_exists(x, "field") __call __get / __set
Perl x->can("method") exists x->{field} AUTOLOAD
Perl 6 x.can("method") x.field.defined AUTOLOAD
OCaml
JavaScript typeof x.method === "function" field in x

Read more about this topic:  Comparison Of Programming Languages (object-oriented Programming)

Famous quotes containing the words member and/or availability:

    Luckless is the country in which the symbols of procreation are the objects of shame, while the agents of destruction are honored! And yet you call that member your pudendum, or shameful part, as if there were anything more glorious than creating life, or anything more atrocious than taking it away.
    Savinien Cyrano De Bergerac (1619–1655)

    Since ... six weeks ago, there has been no day in which I have not had letters and visits on the subject of my nomination for the Presidency.... I say very little. I have in no instance encouraged any one to work to that end.... I have said the whole talk about me is on the score of availability. Let availability do the work then.
    Rutherford Birchard Hayes (1822–1893)