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:

    When we walk the streets at night in safety, it does not strike us that this might be otherwise. This habit of feeling safe has become second nature, and we do not reflect on just how this is due solely to the working of special institutions. Commonplace thinking often has the impression that force holds the state together, but in fact its only bond is the fundamental sense of order which everybody possesses.
    Georg Wilhelm Friedrich Hegel (1770–1831)

    The reading public is intellectually adolescent at best, and it is obvious that what is called “significant literature” will only be sold to this public by exactly the same methods as are used to sell it toothpaste, cathartics and automobiles.
    Raymond Chandler (1888–1959)