homeUnix & Internet Unix & Shell-Programmierung: Objekte und Typen (Klassen) Prof. Dr. Uwe Schmidt FH Wedel

Objekte und Typen (Klassen)

weiter

weiter

Klassen und Objekterzeugung

Vordefinierte Klassen
 
NilClass
FalseClass TrueClass
Fixnum Bignum Integer Float
String
Regexp
Symbol
 
Object Class
 
Array
Hash
 
...
weiter
Erzeugung
von Objekten durch einen Aufruf einer Klassenmethode new
 
ClassName.new(arg1,...)
Beispiel
t = String.new("abc")
=> "abc"
Abkürzende Schreibweisen
für die Erzeugung von Objekten eingebauter Klassen
 
n = nil
b = true
c = false
t = "abc"
i = 42
f = 0.0
r = /a*/
s = :red
l = [1,2,t,i,s]
h = {1 => i, 2 => f, 3 => l}
weiter
nil
Eine vordefinierte Variable, die eine Referenz auf das einzige aus der NilClass erzeugte Objekt enthält.
nil
stammt ab vom lateinischen Wort nihil für (Nichts).
Typ
Der Typ eines Objekts kann erfragt werden mit der Methode class
 
"abc".class
 
=> String
 
1.class
 
=> Fixnum
Variablen
besitzen keinen Typ
nur eine Referenz auf ein Objekt
?
Welchen Typ besitzen die Werte der oben initialisierten Variablen?
Existenz
von Variablen
 
defined? a              # => nil
a = ""
defined? a              # => "local-variable"
 
defined? $a             # => nil
$a=""
defined? $a             # => "global-variable"
 
if ! (defined? $b)
then
  $b = 0
end                     # => nil
Methoden
Die Namen der Methoden, mit denen ein Objekt verarbeitet werden kann, können mit der Methode methods erfragt werden.
weiter
 
"abc".methods
 
=> ["%""select""[]=""inspect"
   , "<<""each_byte""clone""method"
   , "gsub""casecmp""public_methods"
   , "to_str""partition""tr_s"
   , "empty?"
   , ...
   , "capitalize!""scan""[]"]
?
"abc".methods.class
 
=> ???
?
"abc".methods.methods
 
=> ???
?
"abc".methods.sort
 
=> ???
Methoden aufrufen
mit der in OOP üblichen Punkt-Notation und mit optionalen Parameterlisten für die aktuellen Parameter.
Leere Parameterlisten dürfen fehlen.
 
o.method0().method1(a1).method2(a21,a22)
 
o.method0  .method1(a1).method2(a21,a22)
weiter

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel