Mis on C-klassi suletud klass?

Pitseeritud klass on klass, mis ei võimalda pärimist, mis tähendab, et suletud klass piirab kasutajatel klassi pärandamist. Pitseeritud klassi abil määratletud suletud klassiga annab see märksõna kompilaatorile märku, nagu määratletud klass on suletud, nii et seda ei saa laiendada ja puudub võimalus konkreetse klassi pärandada. Suletud klass piirab suletud klassist tuletatud klassi. Pitseeritud klassi peamine eesmärk on lõpetada konkreetse klassi pärimine teistest klassidest. C #-koodis kasutatakse oma koodi turvalisuse tagamiseks suletud klassi, kus saame kindlate meetodite või omaduste ülekaalu kindlustamiseks sõltuda meie tingimustest.

Pitseeritud klass on klass, kus me ei saa tuletada ega luua uut klassi. Teisisõnu, suletud klassi ei saa teised klassid pärida ja suletud modifikaatori abil saame määratleda ka klassi, mida nimetatakse suletud klassiks.

Süntaks

sealed class _className
(
//data members
//methods
)

Kood:

sealed class Demo1 ()
class Demo2 : Demo1() //invalid

Mis tahes klassi loomiseks suletud klassina peame kasutama märksõna pitseeritud.

Kuidas suletud klass C-klassis töötab?

Üldiselt pärib pärandi abil klassi loomisel kõik meetodid ja omadused ükskõik millisesse klassi. Pitseeritud klassi abil saame suletud märksõna abil piirata juurdepääsu klassidele ja nende liikmetele ning samuti võime vältida määratletud klasside pärimist teistest klassidest. C #-s on suletud klass klass, mida teine ​​klass ei saa pärida, kuid mille saab realiseerida. Suletud klass, mida kasutatakse sageli turvalisuse huvides, et takistada soovimatute kasutajate tuletatud klassi. Suletud klass on enamasti ette nähtud klasside laiendatavuse piirjooneks. Suletud klassiga töötamisel on mitu punkti, need on:

  • Pitseeritud klass erineb täiesti abstraktsest klassist.
  • Suletud klassis ei saa abstraktseid meetodeid kasutada.
  • Pärimishierarhias peab see olema kõige madalama klassi klass.
  • Pärimise vältimiseks kasutatakse suletud klassi.
  • Suletud märksõna, mida kasutatakse meetodite, klasside, omaduste ja esinemisjuhu korral.

Vaatame suletud klassi tööprotsessi:

Kood:

using System;
public class DemoClass
(
public static void Main (string() args)
(
SealedDemo _sealedObject=new SealedDemo();
int result=_sealedObject.Addition(5, 5);
Console.WriteLine("Total Value="+result.ToString());
)
) //sealedClass starts here
sealed class SealedDemo
(
public int Addition(int x, int y)
(
return x+y;
)
)

Väljund:

Kui klass on määratletud kui suletud, ei saa seda klassi pärida ja ka seda, et suletud klassi ei saa põhiklassina kasutada. Suletud klassi kasutatakse peamiselt OOP-i pärimisaspektide piiramiseks.

Suletud meetodid C # -s

Suletud meetodid määratletakse nii, et meetod on vanemklass ja seda meetodit ei saa lasteklassis alistada. Kui meetod kuulutatakse klassis virtuaalseks, võib mõni lasteklass meetodi alistada:

Näide nr 1

Kood:

using System;
public class Sample_Employee
(
protected int Emp_id, Emp_age;
protected string Emp_name, Emp_address;
public virtual void GetEmployeeDetails()
(
Console.WriteLine("EMPLOYEE DETAILS");
Console.WriteLine("EMPLOYEE ID");
Emp_id = int.Parse(Console.ReadLine());
Console.WriteLine("EMPLOYEE NAME");
Emp_name = Console.ReadLine();
Console.WriteLine("EMPLOYEE ADDRESS");
Emp_address = Console.ReadLine();
Console.WriteLine("EMPLOYEE AGE");
Emp_age = int.Parse(Console.ReadLine());
)
public virtual void DisplayEmployeeDetails()
(
Console.WriteLine("\nEMPLOEE DETAILS:");
Console.WriteLine("EMPLOYEE ID : " + Emp_id);
Console.WriteLine("EMPLOYEE NAME : " + Emp_name);
Console.WriteLine("EMPLOYEE ADDRESS :" + Emp_address);
Console.WriteLine("EMPLOYEE AGE : " + Emp_age);
)
)
public sealed class Emp_Manager : Sample_Employee
(
double Bonus, CA;
public override void GetEmployeeDetails()
(
Console.WriteLine("ENTER MANAGER DETAILS:");
Console.WriteLine("ENTER THE ID");
Emp_id = int.Parse(Console.ReadLine());
Console.WriteLine("ENTER THE NAME");
Emp_name = Console.ReadLine();
Console.WriteLine("ENTER THE BONUS");
Bonus = double.Parse(Console.ReadLine());
Console.WriteLine("ENTER THE CA");
CA = Convert.ToDouble(Console.ReadLine());
)
public override void DisplayEmployeeDetails()
(
Console.WriteLine("MANAGER DETAILS");
Console.WriteLine("EMPLOYEE ID: " + Emp_id);
Console.WriteLine("EMPLOYEE NAME: " + Emp_name);
Console.WriteLine("MANAGER BONUS: " + Bonus);
Console.WriteLine("MANAGER CA : " + CA);
)
)
class Program
(
static void Main(string() args)
(
Emp_Manager m1 = new Emp_Manager ();
m1.GetEmployeeDetails();
m1.DisplayEmployeeDetails();
Console.ReadKey();
)
)

Väljund:

Saame kinnisel modifikaatoril kasutada atribuudil või meetodil, mis alistab põhiklassis virtuaalse meetodi, mis võimaldab meil lubada klassidel tuleneda klassist ja turvalistest arendajatest, kes kasutavad klasse konkreetsete virtuaalsete omaduste või meetodite puhul. Pitseeritud klassi määratlemiseks on mõned punktid:

  • Me ei taha kunagi alahinnata klassi kõiki omadusi ega meetodeid
  • Meie klassi funktsioone pole vaja laiendada.

Näide 2

Pitseeritud klassi kasutamise peamine eesmärk on klassi pärandi kindlustamine; klassi funktsionaalsuse suurendamiseks ei nõudnud me ühtegi klassi. Vaatame suletud klassi näidisprogrammi:

Kood:

using System;
using System.Text;
namespace test_SealedClass
(
public class SampleProgram1
(
public sealed class TestBaseClass
(
public static void TestDisplay()
(
Console.WriteLine("Here the SealedClass cannot be inherited");
)
)
public class TestDerived : TestBaseClass
(
// here Derived class cannot be inherited because it's a sealed class
)
static void Main(string() args)
(
TestBaseClass _object = new TestBaseClass();
_object.TestDisplay();
Console.ReadLine();
)
)
)

Kui proovite klassi suletud klassi kompilaatorist tuletada, kuvatakse tõrke viga. ”TestDerived: ei saa suletud tüübist TestBaseClass tuletada”.

Eelised suletud klassis

Vaatame järgmisi olulisi punkte, mida peame arvestama pitseeritud märksõnaga c # keeles:

  • Turvalisuse huvides piirab klass pärandit, kui klass kuulutatakse suletud klassiks.
  • Klassi ja meetodi puhul rakendab C # piiranguid suletud märksõnade kasutamisel.
  • Kohalikku muutujat ei suletud C # -ga.
  • See on alati rakendatav kinniste märksõnade alistamise kasutamisel omandil või meetodil.
  • Pitseeritud modifikaator väldib klassi pärandumist.

Järeldus

See artikkel annab teile parema ülevaate suletud klassist ja suletud meetodist ning selgitab C # suletud klassi ja suletud meetodeid mõne näitega. Loodetavasti aitab see artikkel teid oma nõudega täita.

Soovitatavad artiklid

See on juhend C # suletud klassi. Siin arutatakse, kuidas suletud klass töötab c #-s, ja suletud klassi eeliseid. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. C # sakilised massiivid
  2. C-tüüpi palindroom
  3. Pärand C # -s
  4. Break avaldus Java
  5. Break avaldus JavaScriptis
  6. Palindroom JavaScriptis
  7. Viska vs viskab | 5 parimat erinevust, mida peaksite teadma
  8. Katke avaldus Pythonis näidetega

Kategooria: