Comparison of Programming Languages (object-oriented Programming) - Special Methods

Special Methods

String representation Object copy Value equality Object comparison Hash code Object ID
Human-readable Source-compatible
ABAP Objects
C++ (STL) x == y
C# x.ToString x.Clone x.Equals(y) x.CompareTo(y) x.GetHashCode
Java x.toString x.clone x.equals(y) x.compareTo(y) x.hashCode System.identityHashCode(x)
JavaScript x.toString
D x.toString or
std.conv.to!string(x)
x.stringof x == y x.toHash
Objective-C (Cocoa)
Smalltalk x displayString x printString x copy x = y x hash x identityHash
Python str(x) repr(x) copy.copy(x) x == y cmp(x, y) hash(x) id(x)
Visual Basic .NET x.ToString x.Clone x.Equals(y) x.CompareTo(y) x.GetHashCode
Eiffel x.out x.twin x.is_equal(y) When x is COMPARABLE, one can simply do x < y When x is HASHABLE, one can simply do x.hash_code When x is IDENTIFIED, one can simply do x.object_id
PHP sprintf("%s", x) clone x x == y spl_object_hash(x)
Perl "$x" Data::Dumper->Dump(,) Storable::dclone($x) Scalar::Util::refaddr( $x )
Perl 6 ~x x.perl x.clone x eqv y x cmp y x.WHICH
Ruby x.to_s x.inspect x.dup or
x.clone
x == y or
x.eql?(y)
x <=> y x.hash x.object_id
Windows PowerShell x.ToString x.Clone x.Equals(y) x.CompareTo(y) x.GetHashCode
OCaml Oo.copy x x = y Hashtbl.hash x Oo.id x
F# string x or x.ToString or sprintf "%O" x sprintf "%A" x x.Clone x = y or x.Equals(y) compare x y or x.CompareTo(y) hash x or x.GetHashCode

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

Famous quotes containing the words special and/or methods:

    ‘I mean to retire, where
    Nobody will have heard about my special skills
    And conversation is mainly about the wearther.
    —Eiléan Ní ChuilleanĂ¡in (b.1942)

    We are lonesome animals. We spend all our life trying to be less lonesome. One of our ancient methods is to tell a story begging the listener to say—and to feel—”Yes, that’s the way it is, or at least that’s the way I feel it. You’re not as alone as you thought.”
    John Steinbeck (1902–1968)