ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: inbruk
29. ноября 2010 16:20

Абстрактными нужно делать те классы, у которых необходимы свойства и методы, как только объявленные, так и с реализацией. Если у класса все методы и свойства абстрактны, то его лучше объявить как интерфейс. А если у класса все методы и свойства имеют реализацию, то это обычный класс или static класс. При объявлении абстрактных методов нужно помнить о том, что вместо реализации надо ставить точку с запятой. При объявлении абстрактных свойств нужно ставить точку с запятой сарзу после "аксессоров" get и set вместо их реализаций.
При реализации в унаслдованном классе абстрактных свойств и методов перед их заголовками нужно ставить override.


namespace nsAbstract
{
using System;

public class AbstractclsMain
{
static public void Main ()
{
clsDerived derived = new clsDerived (3.14159);
derived.GetAbstract();
Console.ReadKey(true);
}
}

abstract class clsBase
{
abstract public void Describe();

abstract public double DoubleProp
{
get;
}

abstract public int IntProp
{
set;
}

abstract public string StringProp
{
get;
set;
}

public void GetAbstract ()
{
Console.WriteLine ("DoubleProp = " + DoubleProp);

IntProp = 42;

StringProp = "StringProperty actually is stored in " +
"the derived class.";
Console.WriteLine (StringProp);

Describe ();
}
}

public class clsDerived : clsBase
{
public clsDerived (double val)
{
m_Double = val;
}

override public void Describe()
{
Console.WriteLine ("You called Describe() from the base " +
"class but the code body is in the \r\n" +
"derived class");
Console.WriteLine ("m_Int = " + m_Int);
}

override public double DoubleProp
{
get {return (m_Double);}
}

override public int IntProp
{
set {m_Int = value;}
}

override public string StringProp
{
get {return (m_String);}
set {m_String = value;}
}

private double m_Double;
private int m_Int;
private string m_String;
}
}


Продается постельное белье цены приемлемые

Наивно предполагать, что оффшоры перестанут существовать, могу утверждать что оффшор явление стабильное и вечное.

Органические продукты для вегетарианцев Вегетарианство.

Похожие записи


Темы собеседования на должность ASP.NET разработчика
В продолжение темы вопросов на собеседовании. Нашел в интернете еще один представительный список с вменяемыми ответами. Хотя, конечно, на полноту ответы не претендуют. Оригинал лежит здесь . Перенес его сюда как есть не внося никаких изменений. Что такое полиморфизм, инкапсуляция, наследование. ООППолиморфизм: Язык программирования поддерживает полиморфизм, ес...

Виртуальные свойства в C#
Свойства, как и методы, могут быть перегружены в производных классах. Для свойств также могут задаваться модификаторы virtual, override или abstract. Подробно о наследовании говорилось в главе «Методы», сейчас я лишь хочу еще раз привести подробный пример использования механизма виртуализации с применением свойств: [code:c#] using System; enum COLORS { RE...

Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Комментарии

 
nobelwerfer 29.07.2011 18:50:36 #

школьникам будет что почитать в инете

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий