codestory

Klasse und Objekt in Swift

  1. Ihre erste Klasse
  2. Das Regelung über die Aufruf vom Constructor
  3. Der Operator zum Vergleich des Objekt

1. 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
Create a Rectangle rec1
rec1.width = 5
rec1.height = 10
area1 = 50
----------
Create a Rectangle rec2
rec2.width = 10
rec3.height = 15
area2 = 150
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

2. 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

3. 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
r1 === r2 ? false
r1 === r3 ? true
r1 !== r2 ? false
r1 !== r3 ? true