paxScript Demo. Nested Classes.


paxBasic

Class Outer
  Inherits TObject
  Private x As Integer = 10
  Shared Dim y = "abc"
  
  Sub New()
    Me = MyBase.Create()
  End Sub

  Class Inner
    Inherits TObject
    Private x As Integer = 20
    
    Sub PrintData
      print x, y
    End Sub
    
    Sub New()
      Me = MyBase.Create()
    End Sub
    
  End Class
End Class

Dim O = New Outer(), I = New Outer.Inner()
print O, I
I.PrintData

paxC

class Outer: TObject {
  private int x = 10;
  static var y = "abc";

  function Outer() {
    this = base.Create();
  }

  class Inner: TObject {
    private int x = 20;

    function PrintData(){ print x, y; }

    function Inner(){
      this = base.Create();
    }
  }
}

var O = new Outer(), I = new Outer.Inner();
print O, I;
I.PrintData();

paxPascal

program Demo;
type
  TOuter = class(TObject)
    x: Integer = 10;
    class var y: String = 'abc';
  public
    class TInner(TObject)
      x: Integer = 20;
      procedure PrintData;
      begin
        print x, y;
      end;
    end;
  end;

var
  O = TOuter.Create, I = TOuter.TInner.Create;
begin
  print O, I;
  I.PrintData;
end.
var O = new Outer(), I = new Outer.Inner();
print O, I;
I.PrintData();


Copyright © 1999-2006 VIRT Laboratory. All rights reserved.