Увод Ц # ООП Интервју Питања и одговори
Ц # је објектно оријентисан, функционалан, генерички и компонентни програмски језик. Користи се за прављење разних апликација, посебно је снажан у изградњи Виндовс десктоп апликација и игара. Развој веба такође се може ефикасно обавити са Ц # и он постаје све популарнији за развој мобилних уређаја. Дакле, то је одличан избор за било ког програмера који жели да ради на вебу и играма. То је статички куцани језик, па се написани изворни код темељно проверава пре него што се претвори у апликацију. То је сложен језик за учење и савладавање му може бити потребно много времена. На располагању су разни цросс-платформски алати који омогућавају апликације написане на Ц # који се могу користити преко мобилних и десктоп рачунара.
Ако тражите посао који је повезан са Ц # ООП, морате се припремити за Ц # ООП питања за интервју за 2019. годину. Иако је сваки интервју различит и обим посла је такође различит, можемо вам помоћи да поставите врхунска Ц # ООП питања за интервјуе са одговорима, који ће вам помоћи да скочите и постигнете успех у интервјуу.
Испод се налази врх Ц # ООП интервјуа за 2019. који се често постављају у интервјуу. Ова горња питања подељена су у два дела:
Део 1 - Ц # ООП питања за разговор (основна)
Овај први део покрива основна Ц # ООП питања за интервју и одговоре
1. Која је разлика између интерфејса и апстрактног разреда?
Одговор:
Неке разлике су наведене у наставку:
- Апстрактна класа може имати не-апстрактне методе (конкретне методе), док у случају интерфејса све методе морају бити апстрактне.
- Апстрактна класа може декларирати или користити било које варијабле док интерфејс није дозвољен.
- У апстрактној класи сви су подаци или функције података по дефаулту приватни, док су у интерфејсу све јавне, не можемо их ручно променити.
- Апстрактна класа користи конструктор док у интерфејсу немамо било коју врсту конструктора.
- Класа може имплементирати било који број сучеља, али подразред може користити само једну апстрактну класу.
2. Шта су делегати и каква је употреба?
Одговор:
Објект делегат је варијабла референтног типа која се користи за задржавање референце на методу. Референца се може мењати током времена извођења које држи предмет делегата. Објекат делегат може садржати више референци функција која је позната и као Листа позива (Инвоцатион Лист) која упућује функције у низу ФИФО, а нове функције у овом списку током извођења може да изврши оператор + = и може да уклони - оператор.
Делегати се посебно користе за спровођење догађаја и метода повратног позива. Сви делегати су имплицитно изведени из система. Делегат класе.
Пређимо на следећа Ц # ООП питања за интервју
3. Која је разлика између касног везивања и раног везивања?
Одговор:
У полиморфизму Компилација времена или раном повезивању користићемо више метода са истим именом, али различитом врстом параметра или можда бројем или параметром, због тога можемо обављати различите и различите задатке са истим именом методе у истој класи, која је такође познат као Метод преоптерећења.
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);
)
)
Динамички / рунтиме полиморфизам је такође познат као касно везивање. Овде су име методе и потпис методе (број параметара и врста параметра морају бити исти и могу имати различиту имплементацију). Поништавање метода је пример динамичког полиморфизма.
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());
)
)
4. Шта би се догодило у случају да наслеђени интерфејси имају конфликтна имена метода?
Одговор:
Ово су уобичајена Ц # ООП питања за интервјуисање постављена у интервјуу. ако имамо конфликтне методе у истој класи, не можемо имплементирати њихово тело самостално у исту класу због истог имена и истог потписа, тако да морамо користити назив интерфејса пре назива методе да бисмо уклонили збрку ове методе.
interface testInterface1 (
void Show();
)
interface testInterface2 (
void Show();
)
class Abc: testInterface1,
testInterface2 (
void testInterface1.Show() (
Console.WriteLine("For testInterface1 !!");
)
void testInterface2.Show() (
Console.WriteLine("For testInterface2 !!");
)
)
5. Који су различити начини преоптерећења неке методе?
Одговор:
Преоптерећење метода је други назив за полиморфизам током компилације, где можемо креирати методу истог имена, али са другачијим потписом. То се ради у време компилације и можемо то учинити на више начина, али назив методе остао би исти.
Бројни параметри могу бити различити.
Тип параметра може бити различит.
Редослед параметара може бити различит.
Пример -
static int volume ( int x )(
return (x * x * x);
)
static double volume (float f, int i)(
return 3.14 * f * f * I;
)
static long volume (long l, int b, int n)(
return l * b * h;
)
Део 2 - Ц # ООП питања за интервју (напредно)
Овај први део покрива напредна Ц # ООП интервју питања и одговоре
6. Шта је модификатор приступачности и колико их има у Ц #?
Одговор:
Модификатори приступа су кључне речи које се користе за одређивање декларисане приступачности члана или типа. У Ц # постоји 5 неколико врста Модификатора приступа.
Јавно - нема ограничења приступа јавним члановима.
Приватно - ограничен приступ унутар дефиниције класе, ако није наведен ниједан, онда је ово задана поставка.
Заштићено - приступ је ограничен на дефиницију класе и било коју класу која наслеђује од класе.
Интерни - приступ је ограничен искључиво на класе дефинисане тренутним пројектом
Заштићеном унутрашњем члану може се приступити било где у истој групи и такође је доступан наслеђивањем те класе, а може бити и ван скупа само у изведеној класи.
7. Шта је виртуелна метода у Ц #?
Одговор:
Виртуелна метода је метода која се може редефинисати у изведеним класама. Виртуелна метода има реализацију у основној класи као и изведену из класе. Користи се када је основна функционалност методе иста, али понекад је потребно више функционалности у изведеној класи. Виртуална метода се ствара у основној класи која се може надјачати у изведеној класи. Виртуелну методу креирамо у основној класи користећи виртуелну кључну реч и тај метод се надјачава у изведеној класи помоћу кључне речи оверриде.
Када се активира виртуална метода, тип покретања објекта провјерава се за превладавајућег члана. Позваће се превладавајући члан у већини изведене класе, што може бити изворни члан ако ниједна изведена класа није надјачала члана. По дефаулту су методе не-виртуелне. Не можемо пребрисати не-виртуелну методу.
Пређимо на следећа Ц # ООП питања за интервју
8. Како избећи НУЛЛ у Ц #?
Одговор:
Нулл није објект. Можемо имати класу, али варијабла са НУЛЛ вриједношћу значи да не показује на било који објект. Могли бисмо наићи на део кода који садржи многе условне изјаве којима би се проверило да ли је вредност променљиве НУЛЛ. Проверимо статички метод:
јавни статички низ ДисплаиУпперСтринг (стринг с) (
string upper = string.Empty;
If( s == null ) (
upper = null;
)
else (
upper = s.ToUpper();
)
return upper;
)
Овај код је у реду и претвара се у велики слој даном низу.
Али из перспективе ОО, размислите о конструкцији објекта који не представља ништа, уместо да га процените на НУЛЛ.
јавни статички низ стрингУУПССтрринг (По могућствуСтринг) (
стринг горњи = с.ТоПоссиблеУппер ();
повратак горњи;
)
Сада је функција мање скучена, читљивија и више не користи чек за НУЛЛ вредност.
9. Шта је метода проширења у Ц # и како их користити?
Одговор:
Ово су често постављана Ц # ООП питања за интервјуисање постављена у интервјуу. Метода проширења је посебна врста статичке методе, али они се називају као да су примерене методе проширеног типа. Ова метода вам омогућава да додате методе постојећим типовима без стварања новог изведеног типа, прекомпоновања или на неки други начин модификовања оригиналног типа. Методе проширења су у опсегу само када изричито увезете именски простор у ваш изворни код помоћу употребне директиве.
10. Да ли се „ова“ кључна реч може користити у статичкој методи?
Одговор:
Пошто кључна реч "ова" враћа референцу на тренутну инстанцу класе, тако да је не можемо користити унутар статичке методе. А статички чланови постоје без икакве инстанце класе и позивају се са именом класе, а не по инстанци. Дакле, можемо рећи да је „ова“ кључна реч посебна врста референтне променљиве која се имплицитно дефинише унутар сваког конструктора и нестатичке методе као први параметар класе типа у којој је дефинисан.
Препоручени чланак
Ово је водич за списак питања и одговора за Ц # ООП интервјуе како би кандидат могао лако да разбије ова Ц # ООП питања за интервју. Овде у овом посту смо проучавали најчешћа Ц # ООП питања за интервју која се често постављају у интервјуима. Такође можете погледати следеће чланке да бисте сазнали више -
- Хадооп Админ питања за интервју
- 12 невероватних искрених питања за интервју
- 10 Важна питања за интервју са Аб инитио
- 25 Најважнија питања из интервјуа о рачунарској науци
- Које су предности Ц # и Јс