Klassen

Es wird verwendet, um neue Objekte zu erstellen, Objekte und Funktionen zu klassifizieren und die Wiederverwendbarkeit von Code sicherzustellen. Wenn Sie keine Klassenstruktur in einer von Ihnen erstellten Datei erstellt haben, wird sie automatisch im Zugriffstyp „öffentlich“ erstellt.

Klassenerstellung: <accessType> class <ClassName>{<codes>}

Objekt erstellen: <Zugriffstyp> Klassenname Objektname=neuer Klassenname();

Beispiel:

Lassen Sie uns ein repräsentatives Benutzerverwaltungspanel erstellen. Lassen Sie uns die Datei AdminPanel.a erstellen.

AdminPanel.a

class AdminPanel{

func _add(Text userName){

print("User Added: {userName}");

}


func _remove(Text userName){

print("User Removed: {userName}");

}

func _showList(){

print("User List");

}

}

MainClass.a

mainfunc(){

AdminPanel admin=new AdminPanel();

//We have created "AdminPanel" object named "admin".

admin._add("HAK");

admin._remove("HAK");

admin._showList();

//We used functions of admin object.

}

Ausgabe:

User Added: HAK

User Removed: HAK

User List

Zugriffsarten

Es gibt 4 Zugriffsarten. Klassen verwenden "public" oder "default".

öffentlich

Zugänglich für alle Klassen.

Beispiel:

public class Example{

public Text message="Hello";

}

geschützt

Es ist in der Klasse, im Ordner, in dem es erstellt wurde, und in Klassen, die die Klasse erben, in der es erstellt wurde, zugänglich.

Beispiel:

protected Number=10.5;

Ursprünglich

Es ist in der Klasse und im Ordner zugänglich, in dem es erstellt wurde.

Beispiel:

class Example{

Text message="Hello";

}

Privat

Es kann nur in der Klasse aufgerufen werden, in der es erstellt wurde.

Beispiel:

private Number=10.5;

Statisch und Konst

Wir haben den Ausdruck "statisch" im Funktionsabschnitt gesehen. „Statische“ Objekte und Funktionen belegen nur einen Speicherplatz. Das heißt, die Klasse, in der es sich befindet, wird verwendet, ohne es neu zu erstellen. Wenn ein "statisches" Objekt bewertet wird, bleibt der Wert unverändert, bis das Programm beendet ist.

"const" Objekte und Funktionen werden einmal geschrieben. Es kann also später nicht mehr geändert werden.

Beispiel:

Lassen Sie uns eine Nachrichtenklasse erstellen. Lassen Sie uns eine Message.a-Datei erstellen.

Nachricht.a

public static const Text constMessage="GOOD DAY";

public static Text message="WELCOME";

public static func showMessage() print(message);

MainClass.a

mainfunc(){

Message.showMessage();

Message.message="NEW MESSAGE";

Message.showMessage();

print(Message.constMessage);

Message.constMessage="GOOD MORNING"; //Error

}

Ausgabe:

WELCOME

NEW MESSAGE

GOOD DAY

Drin

Es ist die erste Funktion, die ausgeführt wird, wenn ein Objekt aus einer Klasse erstellt wird.

Beispiel:

Machen wir eine Studentenklasse. Lassen Sie uns die Student.a-Datei erstellen.

Student.a

public Text name;

public Text surname;

public Int _class;

public Text branch;

public Int number;

init(Text name, Text surname, Int _class, Text branch, Int number){

this.name=name;

this.surname=surname;

this._class=_class;

this.branch=branch;

this.number=number;

//"this" indicates that it is an object of class.

//We used "this" because objects of init and class are same.

}

MainClass.a

mainfunc(){

Student michael=new Student("Michael","AB",10,"B"t,600);

Student raphel=new Student("Raphel","BE",12,"D"t,300);


print("{michael._class}/{ahmet.branch}");

print("{raphel._class}/{mehmet.branch}");

}

Ausgabe:

10/B

12/D

Paket

Pakete werden erstellt, wenn wir unsere Klassen in Ordner aufteilen. Pakete werden auf zwei Arten verwendet. Um die "use"-Anweisung zu verwenden, muss eine Klassenstruktur erstellt werden.

Beispiel:

Lassen Sie uns einen Ordner mit dem Namen „Math“ erstellen und darin die Datei „FourOperation.a“ erstellen.

FourOperation.a

Number num1;

Number num2;

init(Number num1, Number num2){

this.num1=num1;

this.num2=num2;

}

public func sum() print(num1+num2);

public func difference() print(num1-num2);

public func multiplication() print(num1*num2);

public func division() print(num1/num2);

Wir haben ein Paket namens "Math" erstellt. Lassen Sie uns unser Paket auf zwei Arten verwenden.

Verwendung: Ordnername.Ordnername.Klassenname

MainClass.a

mainfunc(){

Math.FourOperation operation=new Math.FourOperation(10,5);

operation.sum();

operation.difference();

operation.multiplication();

operation.division();

}

Verwendung: use FolderName.FolderName.*; | Klassenname

MainClass.a

use Math.*;

class MainClass{

mainfunc(){

FourOperation operation=new FourOperation(10,5);

operation.sum();

operation.difference();

operation.multiplication();

operation.division();

}

}

Ausgabe:

15.0

5.0

50.0

2.0

Erben

Um Objekte und Funktionen zu verwenden, die in einer Klasse geschrieben wurden, ohne sie in einer anderen Klasse neu zu erstellen, werden sie von der ersten Klasse geerbt. Klassenstruktur sollte geschaffen werden. Die „maininit“-Funktion führt die „init“-Funktion der geerbten Klasse aus. Die "over"-Anweisung überschreibt die angegebene Funktion der geerbten Klasse und ersetzt sie durch die angegebene Funktion.

Verwendung: Klasse Klasse2 geerbte Klasse1{<codes>}

Beispiel:

Lassen Sie uns Produkt-, Computer- und Kleidungsklassen erstellen. Lassen Sie die Klassen Computer und Dress die Klasse Product erben. Wir überschreiben die „Information“-Funktion mit einer neuen Informationsfunktion, da es neben der Produktklasse in der Kleiderklasse ein „Farbe“-Objekt gibt.

Produkt.a

public Text name;

public Number price;

init(Text name, Number price){

this.name=name;

this.price=price;

}

public func info() print("Name: {name}, Price: {price}");

Computer.a

class Computer inherit Product{

public Text type="Computer";

init(Text name, Number price) maininit(name, price);

}

Dress.a

class Dress inherit Product{

public Text type="Dress";

Text color;

init(Text name, Text color, Number price){

maininit(name, price);

this.color=color;

}


over func info()

print("Name: {name}, Color: {color}, Price: {price}");

}

MainClass.a

mainfunc(){

Computer computer=new Computer("Laptop", 3000);

Dress dress=new Dress("Sweater", "Blue", 100);

print(computer.type);

computer.info();

print(dress.type);

dress.info();

}

Ausgabe:

Computer

Name: Laptop, Price: 3000.0

Dress

Name: Sweater, Color: Blue, Price: 100.0