Klasse und Objekt in Swift

View more categories:

1- Die Vorstellung

Das Dokument wird nach der Quelle von ... geschrieben
  • Swift 2.x

  • XCode 7.3

2- Ihre erste Klasse

Swift ist eine aus C und Objective-C geerbte Sprache. Sie ist eine Verfahrensorientierte und Objektsorientierte Sprache. Die Klasse ist ein Begriff der objektsorientierten Programmierungssprache. Die Klasse hat die Attribute und die Methode. Die Klasse wird eine Funktion der Klasse verstanden. Aus einer Klasse können Sie ein Objekt erstellen 
Swift benutzt ein Schlusselwort class um eine Klasse zu melden
Eine Hauptfile  Rectangle.swift erstellen
Rectangle.swift
import Foundation


class Rectangle  {
    
    // width property
    var width: Int = 5;
    
    // height property
    var height: Int = 10;
    
    // Default-Constructor (kein Parameter)
    // (Zur Erstellung des Objekt)
    init()  {
        
    }
    
    // Ein Constructor hat 2 Parameter.
    // (Zur Erstellung des Objekt)
    // self.width zeigt nach dem Property width der Klasse.
    init (width: Int, height: Int)  {
        self.width = width
        self.height = height
        
    }
    
    // Die Methode ist zur Kalkulation der Fläche des Rechsteck benutzt
    func getArea()  -> Int  {
        
        var area = self.width * self.height
        return area
    }
    
    
}
Die Code benutze die Klasse   Rectangle um das Objekt zu erstellen.
RectangleTest.swift
import Foundation


func test_rectangle()  {
    
    print("Create a Rectangle rec1");
    
    // Ein Objekt Rectangle durch den Default Constructor: init() erstellen
    var rec1  = Rectangle()
    
    
    // width, height ausdrucken.
    print("rec1.width = \(rec1.width)")
    print("rec1.height = \(rec1.height)")
    
    // Die Aufruf nach der Methode um die Fläche zu kalkulieren.
    var area1 = rec1.getArea()
    
    print("area1 = \(area1)")
    
    
    print("---------")
    
    print("Create a Rectangle rec2");
    
    // Ein Objekt Rectangle durch den Default Constructor mit 2 Parameter init(Int,Int) erstellen
    var rec2 = Rectangle(width: 10, height: 15)
    
    
    // width, height ausdrucken.
    print("rec2.width = \(rec2.width)")
    print("rec2.height = \(rec2.height)")
    
    
    // Die Aufruf nach der Methode um die Fläche zu kalkulieren.
    var area2 = rec2.getArea()
    
    print("area2 = \(area2)")
    
}
Die File main.swift ändern um das Beispiel zu prüfen
main.swift
import Foundation

test_rectangle()
 
Das Beispiel durchführen
Jetzt können Sie die Erklärungen über die Klasse lesen. Sie sind sehr wichtig
Was passiert wenn Sie ein Objekt nach dem default constructor)?
Das Objekt  Rectangle durch den Constructor mit 2 Parameter erstellen 

3- Das Regelung über die Aufruf vom Constructor

Die Regelung Swift 2.1 zur Aufruf nach Funktion (function), der Methode (method), und dem Construktor (constructor):
  • Der erste Parameter zur Übertragung für die Funktion (oder die Methode) fordert das Label des Parameter nicht
  • Die anderen Parameter zur Übertragung für die Funktion oder die Methode fordert das Label des Parameter.
  • Die Parameter zur Übertragung für den Constructor fordert das Ladel des Parameter

4- Der Operator zum Vergleich des Objekt

Im  Swift wenn Sie ein Objekt durch den Constructor erstellen, wird eine echte Enitiät in der Speicherung erstellt. Sie hat eine bestimmte Addresse. 

Ein Operator für die Zuweisung eines Objekt AA durch ein Objekt BB erstellt keine Enitität in der Speicherung mehr. Er zeigt auf die Address von AA nach der Addresse von BB 
Der Operator === wird benutzt um die Addresse, nach der 2 Objekte zeigten zu vergleichen. Es kehrt true rück wenn die 2 Objekt auf die gleichen Addresse in der Speicherung zeigen. Der Operator  !== wird benutzt um die Addresse, nach der 2 Objekte zeigten. Es kehrt true rück wenn die 2 Objekt auf die 2 unterschiedlichen Addresse zeigen 
IdentifyOperator.swift
import Foundation


func identifyOperator()    {
    
    // Die Erstellung des Objekt : r1
    var r1 = Rectangle(width: 20,height: 10)
    
    // Die Erstellung des Objekt: r2
    var r2 = Rectangle(width: 20,height: 10)
    
    var r3 = r1
    
    
    var  b12:Bool =   r1 === r2
    var  b13:Bool =   r1 === r3
    
    print("r1 === r2 ?  \(b12)") // false
    print("r1 === r3 ?  \(b13)") // true
    
    
    var bb12: Bool = r1 !== r2
    var bb13: Bool = r1 !== r3
    
    
    print("r1 !== r2 ?  \(b12)") // true
    print("r1 !== r3 ?  \(b13)") // false
    
}
Das Beispiel durchführen

View more categories: