C# ialah bahasa pengaturcaraan Berorientasikan Objek, berfungsi, generik dan berorientasikan komponen. Ia telah digunakan untuk mencipta pelbagai aplikasi; ia amat kukuh dalam membina aplikasi dan permainan desktop Windows. Pembangunan web juga boleh dilakukan dengan cekap dengan C#, yang semakin popular untuk pembangunan mudah alih. Jadi, ia adalah pilihan yang sangat baik untuk mana-mana pengaturcara yang ingin membangunkan web dan permainan. Bahasa yang ditaip secara statik menyemak dengan teliti kod sumber bertulis sebelum ia menjadi aplikasi. Ia adalah bahasa yang kompleks untuk dipelajari, dan menguasainya boleh mengambil masa yang agak lama. Pembangun boleh menggunakan pelbagai alatan merentas platform untuk mencipta aplikasi dalam C# yang boleh digunakan pada platform mudah alih dan desktop.
Jika anda sedang mencari pekerjaan yang berkaitan dengan C# OOP, anda mesti bersedia untuk Soalan Temuduga C# OOP 2023. Walaupun setiap temu duga berbeza dan skop kerja juga berbeza, kami boleh membantu anda dengan Soalan Temuduga C# OOP teratas dengan jawapan, yang akan membantu anda mengambil lompatan dan memberi anda kejayaan dalam temu duga anda.
Bahagian pertama ini merangkumi Soalan dan Jawapan Temuduga C# OOP yang penting
Jawapan:
Beberapa perbezaan disenaraikan di bawah:
Jawapan:
Objek perwakilan ialah pembolehubah jenis rujukan yang memegang rujukan kepada kaedah. Sambungan boleh ditukar semasa runtime, yang dimiliki oleh objek perwakilan. Objek perwakilan boleh mempunyai banyak rujukan fungsi, juga dikenali sebagai Senarai Invocation, yang merujuk kepada tugas dalam urutan FIFO; kita boleh merujuk fungsi baharu dalam senarai ini pada masa jalan oleh operator += dan alih keluar oleh operator -=.
Mari kita beralih kepada Soalan Temuduga C# OOP berikut.
Jawapan:
Dalam Compile time polymorphism atau Early Binding, kami akan menggunakan berbilang kaedah dengan nama yang sama tetapi jenis parameter yang berbeza atau beberapa parameter. Oleh sebab itu, kami boleh melaksanakan tugasan yang berbeza-beza dengan nama kaedah yang sama dalam kelas yang sama, juga dikenali sebagai Kaedah terlebih muatan.
public class TestData { public int Add(int a, int b, int c) { return a + b + c; } public int Add(int a, int b) { return a + b; } } class Program { static void Main(string[] args) { TestData dataClass = new TestData(); int add2 = dataClass.Add(45, 34, 67); int add1 = dataClass.Add(23, 34); } }
Nama lain untuk polimorfisme dinamik atau masa jalan adalah pengikatan lewat.. Di sini, nama kaedah dan tandatangan kaedah (bilangan parameter dan jenis parameter mestilah sama dan mungkin mempunyai pelaksanaan yang berbeza). Penggantian kaedah ialah contoh polimorfisme dinamik.
public class Drawing { public virtual double Area() { return 0; } } public class Square : Drawing { public double Length { get; set; } public Square() { Length = 6; } public override double Area() { return Math.Pow(Length, 2); } } public class Rectangle : Drawing { public double Height { get; set; } public double Width { get; set; } public Rectangle() { Height = 5.3; Width = 3.4; } public override double Area() { return Height * Width; } } class Program { static void Main(string[] args) { Drawing square = new Square(); Console.WriteLine("Area :" + square.Area()); Drawing rectangle = new Rectangle(); Console.WriteLine("Area :" + rectangle.Area()); } }
Jawapan:
Ini adalah beberapa soalan temuduga C# OOP biasa. Bayangkan bahawa kelas yang sama mengandungi kaedah yang bercanggah. Dalam kes itu, kami tidak boleh melaksanakan badan mereka secara bebas dalam kelas yang sama kerana nama yang sama dan tandatangan yang sama, jadi kami mesti menggunakan nama antara muka sebelum nama kaedah untuk mengalih keluar kekeliruan kaedah ini.
interface testInterface1 {<br>
void Show();<br>
}<br>
interface testInterface2 {<br>
void Show();<br>
}<br>
class Abc: testInterface1,<br>
testInterface2 {<br>
void testInterface1.Show() {<br>
Console.WriteLine("For testInterface1 !!");<br>
}<br>
void testInterface2.Show() {<br>
Console.WriteLine("For testInterface2 !!");<br>
}<br>
}<br>
Bahagian pertama ini merangkumi Soalan dan jawapan Temuduga C# OOP lanjutan
Jawapan:
Pengubah suai akses ialah kata kunci yang digunakan untuk menentukan kebolehcapaian yang diisytiharkan bagi ahli atau jenis. Dalam C#, terdapat 5 beberapa jenis Access Modifiers.
Awam – Tiada sekatan untuk mengakses ahli awam.
Persendirian – akses terhad dalam definisi kelas; jika tiada yang dinyatakan, maka ini adalah lalai.
Dilindungi – akses terhad kepada dalam definisi kelas dan mana-mana kelas yang mewarisi kursus.
Dalaman – akses terhad secara eksklusif kepada kelas yang ditentukan oleh projek semasa.
Answer:
Developers use a virtual method to define a method that can be redefined in derived classes. We make a virtual method in the base class using the virtual keyword, and that method is overridden in the derived class using the override keyword.
Let us move on to the following C# OOP Interview Questions.
Answer:
Null is not an object. We can have a class, but a variable with a NULL value is not pointing to any object. We might come across a piece of code that contains many conditional statements that check if the value of a variable is NULL. Let’s review a static method:
public static string DisplayUpperString( string s ){ string upper = string.Empty; If( s == null ) { upper = null; } else { upper = s.ToUpper(); } return upper; }
This code is fine and converts to the upper case of a given string.
But from an OO perspective, consider constructing an object that represents nothing rather than evaluating it for NULL.
public static String DisplayUpperString ( PossibleString s ){ string upper = s.ToPossibleUpper(); return upper; }
Now the function is less cluttered, more readable, and no longer uses the check for a NULL value.
Answer:
Interviewers frequently ask about extension methods in C# OOP interviews. This method enables you to add methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are only in scope when explicitly importing the namespace into your source code using a directive.
Answer:
Since “this” keyword returns a reference to the current instance of a class, we cannot use this inside a static method. And static members exist without any instance of the class and call with the name of the class, not by instance. The “this” keyword is implicitly defined in every constructor and non-static method as a particular kind of reference variable as the first argument of the class type in which it is defined.
Atas ialah kandungan terperinci Soalan Temuduga C# OOP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!