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

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: 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


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