Introduzione agli oggetti in C #
Come già noto, C # è un linguaggio di programmazione orientato agli oggetti ed è pronunciato come C Sharp. Sebbene C # sia stato evoluto da C ++, entrambi si differenziano tra loro. Le differenze di base possono essere comprese attraverso C ++ vs C #.
L'oggetto è un'istanza di una classe. Qui la memoria viene allocata in modo dinamico per fornire l'output di un determinato programma. Quindi, come possiamo spiegare questa allocazione dinamica? Vorrei provare a spiegarlo in un modo un po 'non tecnico. Gli oggetti vengono creati per accedere a diverse funzioni o variabili definite nella classe. Quindi, un oggetto non sa a quale tipo di dati accederà effettivamente. Quindi, dopo aver ottenuto il valore dagli elementi a cui si accede, sistemerebbe la memoria in modo dinamico.
Creare un oggetto
In generale, un oggetto può essere creato in 2 modi. Uno di questi è utilizzando il comando "nuovo". La sintassi generale per l'oggetto è di seguito:
Class-name object-name = new Class-name();
E poi usando il nome-oggetto possiamo accedere ai rispettivi metodi e variabili che sono definiti all'interno della classe.
Un altro modo di definire un oggetto è facendo riferimento a un altro oggetto. Qualcosa come assegnare il valore.
Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;
E possiamo accedere alla variabile e ai metodi nella classe usando gli oggetti, nome-oggetto1 e nome-oggetto2.
Esempi di oggetti in C #
Qui avremo un esempio per ogni modo di creare un oggetto in C #.
Di seguito è riportato un programma per trovare il quadrato di un numero.
using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
)
)
Produzione:
Quindi, nel programma sopra
- Abbiamo creato una classe Square e scritto due funzioni all'interno della classe. Una funzione che è anche un costruttore (nome della funzione uguale al nome della classe) è quella di inserire il valore di un numero e altro per eseguire l'operazione effettiva.
- Nella nostra classe First che ha al suo interno la funzione principale, abbiamo inizializzato i nostri oggetti e passato il parametro, per il numero che vogliamo effettivamente eseguire l'operazione quadrata.
- E abbiamo dichiarato un risultato variabile; stiamo passando l'output del metodo a cui si accede all'oggetto 'Sq', che esegue l'operazione effettiva.
- Finalmente il risultato quadrato nella nostra console.
Per il nostro prossimo modo di creare un oggetto, l'esempio è il seguente:
using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
)
)
Produzione:
E a un'estensione di questo, possiamo persino assegnare valore alla nostra variabile usando un oggetto. Vediamo come possiamo farlo.
using System;
class Square
(
public int Side;
public Square(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)
Qui, abbiamo avuto accesso alla variabile e modificato il suo valore da 6 a 7. Quindi l'output viene stampato dopo aver inizializzato il valore nella nuova variabile risultato3. L'output ottenuto è inferiore.
Produzione:
Fin qui abbiamo creato un oggetto e lo abbiamo fatto riferimento in un unico formato di testo. Ora vediamo cosa succede se abbiamo bisogno di una matrice di oggetti per archiviare e manipolare i nostri dati.
using System;
class Square
(
public int Side;
public void Sqr(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square() sq = new Square(3);
sq(0)= new Square();
sq(1)= new Square();
sq(2)= new Square();
sq(0).Side=13;
sq(1).Side=85;
sq(2).Side=25;
result1=sq(0).Sq();
result2=sq(1).Sq();
result3=sq(2).Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)
Nel programma sopra, lo stesso di prima abbiamo creato una matrice di oggetti e assegnato un valore a ciascun oggetto. Abbiamo quindi eseguito la nostra seconda funzione per generare il quadrato di due numeri.
L'output di quanto sopra si trova come di seguito:
Produzione:
Come esercizio puoi provare a caricare i voti di 5 studenti in 3 materie usando una matrice dell'oggetto?
Conclusione
Come visto sopra, abbiamo creato con successo un oggetto in diversi modi e l'abbiamo usato per assegnare valori alle variabili e chiamare le funzioni presenti all'interno della classe. Ma qui, dobbiamo capire e seguire alcune regole basate sui modificatori di accesso. Un oggetto non può accedere a variabili / funzioni con un modificatore di accesso "privato" che appartiene a un'altra classe. Ma può accedere alle stesse variabili di classe o funzioni sebbene dichiarate con un modificatore privato. Quindi, in questo modo ci sono un insieme di regole definite rispetto a classi, variabili, funzioni e oggetti.
Prova a creare oggetti in diversi modi con diversi modificatori di accesso e controlla gli output per conoscere l'ambito degli oggetti e continuare a imparare.
Articoli consigliati
Questa è una guida agli oggetti in C #. Qui discutiamo i diversi modi di creare oggetti in C # insieme ad esempi e alla sua implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più -
- Distruttore in C #
- Matrici dentellate C #
- Funzioni C #
- Che cos'è il multithreading in C #?
- Oggetto in Java
- Metodi di multithreading in C #