class Foo { public static void main(String args[]) { Bar bar = new Bar(42); System.out.println(bar.foo); Bar baz = bar.Bar(2112); System.out.println(baz.foo); } } class Bar { public int foo; public Bar(int foo) { this.foo = foo; } } #### class Bar: def __init__(self, foo): self.foo = foo bar = Bar(42) print bar.foo baz = bar.__init__(2112) print baz.foo #### class Bar def kind=(f) @foo = f end def kind @foo end end bar = Bar.new bar.kind = 42 print bar.kind baz = bar.new baz.kind = 2112 print baz.kind #### class User; my ($id, $name, $email); # look ma, no new!!! package main; my $u = User.new('abw', 'Andy Wardley', 'abw@kfs.org'); #### package foo; use strict; use Carp; sub new { my ($class,$id) = @_; croak "can't call new as instance method" if ref($class); my $self = { id => $id || 42, }; return bless $self,$class; }