Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

К этому моменту мы получили представление о синтаксисе C#. Мы видели, что он позволяет писать инструкции, которые значительно короче, чем соответствующий код VB. Мы также заметили, что C# помещает весь код в исходный файл в отличие от VB, где большая часть базового кода скрыта от программиста, что делает код проще за счет уменьшения гибкости при создании приложений. Мы также познакомились с концепцией наследования.

Однако мы пока еще не видели реального примера некоторого кода, который можно написать на C#, но крайне трудно создать код, делающий то же самое на VB. Мы собираемся рассмотреть такой пример в следующем разделе, где будут с помощью некоторых классов проиллюстрированы возможности наследования.

Пример: Employees и Managers

Для этого примера предположим, что пишется приложение, делающее некоторую обработку данных, имеющих отношение к сотрудникам компании. Для нас неважно, какую обработку оно включает, больший интерес представляет факт, что для этого достаточно полезно будет написать класс C# (или модуль класса VB), представляющий сотрудников. Мы предполагаем, что это будет формировать часть программного пакета, который можно продавать компаниям, чтобы помочь им при выплате зарплаты и т.д.

Модуль класса Employee в VB

Следующий код представляет попытку закодировать модуль класса Employeeна VB. Модуль класса предоставляет два открытых свойства: EmployeeNameи Salary, а также открытый метод GetMonthlyPayment(), возвращающий сумму, которую компания должна платить сотруднику каждый месяц. Это не совпадает с зарплатой частично потому, что зарплата предполагается выплачиваемой за год, и частично потому, что позже будет представлена возможность прибавления других выплат компании сотруднику (таких, как бонусы за производительность):

' локальные переменные для хранения значений свойств

Private mStrEmployeeName As String ' локальная копия

Private mCurSalary As Currency ' локальная копия

Public Property Let Salary(ByVal curData As Currency)

mCurSalary = curData

End Property

Public Property Get Salary() As Currency

Salary = mCurSalary

End Property

Public Property Get EmployeeName() As String

EmployeeName = mStrEmployeeName

End Property

Public Sub Create(sEmployeeName As String, curSalary As Currency)

mStrEmployeeName = sEmployeeName

mCurSalary = curSalary

End Sub

Public Function GetMonthlyPayment() As Currency

GetMonthlyPayment = mCurSalary/12

End Function

В реальной жизни будет написано, по-видимому, что-то более сложное, но и этого класса будет достаточно для иллюстрации рассматриваемых нами концепций. Фактически мы уже имеем проблему с этим модулем класса VB — имена большинства людей меняются не очень часто, вот почему свойство EmployeeNameпредназначено только для чтения. Это по-прежнему оставляет необходимость задавать имя в первый раз. Для этого добавлен метод Create, который определяет имя и зарплату. Таким образом, процесс создания объекта сотрудника будет выглядеть так:

Dim Britney As Employee

Set Britney = New Employee

Britney.Create "Britney Spears", 20000

Эта схема работает, но она не очень удобна. Проблема с инициализацией объекта Employeeсостоит в том, что хотя VB предоставляет для этой цели методы Class_Loadи Class_Initialize, метод Class_Loadне может получать никаких параметров. Это означает, что нельзя выполнить никакой инициализации, которая является специфической для данного экземпляра Employee, поэтому необходимо просто написать отдельный метод инициализации Createи надеяться, что все, кто пишет клиентский код, никогда не будут забывать его вызывать. Такое решение неудобно, так как нет никакого смысла иметь объект Employee, у которого не заданы имя и зарплата, но именно это присутствует в приведенном выше коде в течение короткого периода между созданием экземпляра Britneyи инициализацией объекта. Пока будут помнить о вызове метода Create, все будет нормально, но здесь имеется потенциальный источник ошибок.

В C# ситуация совершенно другая. Здесь в конструкторы можно подставлять параметры (эквивалент в C# для метода Class_Load). Необходимо только убедиться, что при определении класса Employeeв C# конструктор получает Nameи Salaryв качестве параметров. В C# можно будет написать:

Employee Britney = new Employee("Britney Spears", 20000.00M);

что значительно изящнее и менее подвержено ошибкам. Отметим кстати символ " М", добавленный к зарплате. Это связано с тем, что эквивалент C# для типа Currencyиз VB называется десятичным значением и ' M', добавленный к числу в C#, подчеркивает, что число надо интерпретировать как decimal. Его указывать не обязательно, но это полезно для дополнительной проверки во время компиляции.

Класс Employee в C#

Помня о приведенных выше замечаниях можно теперь представить первое определение версии C# класса Employee(отметим, что здесь показано определение класса, а не определение содержащего его пространства имен):

class Employee {

private readonly string name;

private decimal salary;

public Employee(string name, decimal salary) {

this.name = name;

this.salary = salary;

}

public string Name {

get {

return name;

}

}

public virtual decimal Salary {

get {

return salary;

}

set {

salary = value;

}

}

public decimal GetMonthlyPayment() {

return salary/12;

}

public override string ToString() {

return "Name: " + name + ", Salary: $" + salary.ToString();

}

}

Просматривая этот код, мы видим сначала пару закрытых переменных — так называемых полей-членов, соответствующих переменным-членам в модуле класса VB. Поле nameпомечено как readonly. Мы скоро узнаем его точное значение. Грубо говоря, это гарантирует, что данное поле задано, когда создавался объект Employee, и не может впоследствии изменяться. В C# обычно не используют "венгерский" стиль именования объектов для имен переменных, поэтому они просто называются nameи salary, а не mStrEmployeeNameи mCurSalary. "Венгерский" стиль именования объектов означает, что имена переменных имеют префикс из букв, который указывает их тип ( mStr, mCurи т.д.). Это на сегодня неважно, так как редакторы являются более развитыми и могут автоматически предоставить информацию о типах данных. Поэтому рекомендуется не использовать "венгерский" стиль именования объектов в программах C#.

В классе Employeeсуществует также конструктор, пара свойств — Nameи Salary, а также два метода — GetMonthlyPayment()и ToString(). Все это будет рассмотрено далее.

Отметим кстати, что имена свойств Nameи Salaryотличаются только регистром символов от имен своих соответствующих полей. Это не является проблемой, так как C# различает регистр символов. Способ, которым здесь именованы свойства и поля, соответствует обычному соглашению в C# и показывает, как можно на самом деле воспользоваться различием регистра символов.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x