Bahasa C
Dalam tutorial ini, Anda akan belajar tentang kelas bersarang di C# dengan bantuan contoh.
Dalam C#, kita dapat mendefinisikan kelas di dalam kelas lain. Ini dikenal sebagai kelas bersarang. Misalnya,
class OuterClass {
...
class InnerClass {
...
}
}
Di sini, kami telah membuat kelas InnerClass
di dalam kelas OuterClass
. InnerClass
disebut kelas bersarang.
Untuk mengakses anggota kelas bersarang, pertama-tama kita perlu membuat objeknya.
1.Buat objek Kelas luar
OuterClass obj1 = new OuterClass();
Di sini, kami telah membuat obj1 objek dari kelas OuterClass
.
2. Buat objek Kelas Dalam
OuterClass.InnerClass obj2 = new OuterClass.InnerClass();
Anda dapat melihat bahwa kami telah menggunakan OuterClass.InnerClass
untuk membuat obj2 objek kelas dalam. Ini karena InnerClass
adalah kelas bersarang dari OuterClass
.
Setelah kita membuat objek dari masing-masing kelas, kita dapat menggunakan nama objek dan operator titik untuk mengakses anggota dari setiap kelas.
using System;
namespace CsharpNestedClass {
// outer class
public class Car {
public void displayCar() {
Console.WriteLine("Car: Bugatti");
}
// inner class
public class Engine {
public void displayEngine() {
Console.WriteLine("Engine: Petrol Engine");
}
}
}
class Program {
static void Main(string[] args) {
// create object of outer class
Car sportsCar = new Car();
// access method of outer class
sportsCar.displayCar();
// create object of inner class
Car.Engine petrolEngine = new Car.Engine();
// access member of inner class
petrolEngine.displayEngine();
Console.ReadLine();
}
}
}
Keluaran
Car: Bugatti Engine: Petrol Engine
Dalam program di atas, kami telah menyarangkan Engine
kelas di dalam Car
kelas.
Di dalam Program
class, kita telah membuat objek dari kelas luar dan kelas dalam.
// object of outer class
Car sportsCar = new Car();
// object of nested class
Car.Engine petrolEngine = new Car.Engine();
Kami kemudian menggunakan objek ini untuk mengakses metode setiap kelas.
sportsCar.displayCar()
- mengakses metode kelas luar menggunakan objek Car
petrolEngine.displayEngine()
- mengakses metode kelas dalam menggunakan objek Engine
Catatan :Kami tidak dapat mengakses anggota kelas dalam menggunakan objek kelas luar. Misalnya,
// error code
sportsCar.displayEngine();
Di sini, kami tidak dapat mengakses displayEngine()
metode kelas dalam Engine
menggunakan sportsCar objek dari kelas luar.
Kita dapat mengakses anggota kelas luar di dalam kelas dalam. Untuk ini kita menggunakan objek dari kelas luar. Misalnya,
using System;
namespace CsharpNestedClass {
// outer class
public class Car {
public string brand = "Bugatti";
// nested class
public class Engine {
public void displayCar() {
// object of outer class
Car sportsCar = new Car();
Console.WriteLine("Brand: " + sportsCar.brand);
}
}
}
class Program {
static void Main(string[] args) {
// object of inner class
Car.Engine engineObj = new Car.Engine();
engineObj.displayCar();
Console.ReadLine();
}
}
}
Keluaran
Brand: Bugatti
Dalam contoh di atas, kita telah membuat sarang Engine
kelas di dalam Car
kelas. Perhatikan barisnya,
// inside Engine class
Car sportsCar = new Car();
Console.WriteLine("Brand: " + sportsCar.brand);
Di sini, kita telah menggunakan objek kelas Car
untuk mengakses bidang merek .
Jika kita perlu mengakses anggota statis dari kelas luar, kita tidak perlu membuat objeknya. Sebagai gantinya, kita bisa langsung menggunakan nama kelas luar. Misalnya,
using System;
namespace CsharpNestedClass {
// outer class
public class Car {
//static member of outer class
public static string brand = "Bugatti";
// nested class
public class Engine {
public void display() {
// access static member of outer class
Console.WriteLine("Brand: " + Car.brand);
}
}
}
class Program {
static void Main(string[] args) {
// object of inner class
Car.Engine obj = new Car.Engine();
obj.display();
Console.ReadLine();
}
}
}
Keluaran
Brand: Bugatti
Pada contoh di atas, kita telah membuat sarang Engine
kelas di dalam Car
kelas. Car
memiliki bidang statis merek .
Di sini, kami telah mengakses bidang statis brand di dalam kelas dalam (Engine
) menggunakan nama kelas luar (Car
).
Console.WriteLine("Brand: " + Car.brand);
Seperti kelas biasa, kita juga dapat mewarisi kelas luar. Misalnya,
using System;
namespace CsharpNestedClass {
// outer class
class Computer {
public void display() {
Console.WriteLine("Method of Computer class");
}
// nested class
public class CPU {
}
}
class Laptop : Computer {
}
class Program {
static void Main(string[] args) {
// object of derived class
Laptop obj = new Laptop();
obj.display();
Console.ReadLine();
}
}
}
Keluaran
Method of Computer class
Pada contoh di atas, kita telah menurunkan kelas Laptop
dari kelas luar Computer
.
Karena itu kami dapat mengakses display()
metode kelas Computer
menggunakan objek kelas Laptop
.
Di C#, kita juga bisa mewarisi kelas dalam. Misalnya,
using System;
namespace CsharpNestedClass {
// outer class
class Computer {
// nested class
public class CPU {
public void display() {
Console.WriteLine("Method of CPU class");
}
}
}
// inheriting inner class
class Laptop : Computer.CPU {
}
class Program {
static void Main(string[] args) {
// object of derived class
Laptop obj = new Laptop();
obj.display();
Console.ReadLine();
}
}
}
Keluaran
Method of CPU class
Dalam contoh di atas, kami telah menurunkan Laptop
kelas dari kelas dalam CPU
.
Perhatikan bahwa kita telah menggunakan nama kelas luar bersama dengan kelas bersarang untuk mewarisi kelas dalam.
class Laptop : Computer.CPU {}
Bahasa C
C# Warisan Dalam tutorial ini, kita akan belajar tentang pewarisan C# dan jenisnya dengan bantuan contoh. Dalam C#, pewarisan memungkinkan kita untuk membuat kelas baru dari kelas yang sudah ada. Ini adalah fitur utama Pemrograman Berorientasi Objek (OOP). Kelas dari mana kelas baru dibuat dikena
Warisan C++ Dalam tutorial ini, kita akan belajar tentang pewarisan dalam C++ dengan bantuan contoh. Pewarisan adalah salah satu fitur utama pemrograman berorientasi objek di C++. Ini memungkinkan kita untuk membuat kelas baru (kelas turunan) dari kelas yang ada (kelas dasar). Kelas turunan mewari
Kelas Statis Bersarang Java Dalam tutorial ini, Anda akan belajar tentang kelas statis bersarang dengan bantuan contoh. Anda juga akan belajar tentang perbedaan kelas statis dengan kelas dalam. Seperti yang dipelajari dalam tutorial sebelumnya, kita dapat memiliki kelas di dalam kelas lain di Java.
Cara lama melakukan PM Di masa lalu, jika Anda memiliki beberapa siklus PM untuk peralatan tertentu yang mendarat pada tanggal yang sama, Anda harus membuat beberapa pemicu pemeliharaan terjadwal di CMMS untuk menangani tugas kumulatif. Misalnya, jika peralatan Anda memerlukan PM bulanan untuk men