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:

    “Neighboring farmers and visitors at White Sulphur drove out occasionally to watch ‘those funny Scotchmen’ with amused superiority; when one member imported clubs from Scotland, they were held for three weeks by customs officials who could not believe that any game could be played with ‘such elongated blackjacks or implements of murder.’”
    —For the State of West Virginia, U.S. public relief program (1935-1943)

    “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)