|
Язык программирования С# 2005 и платформа .NET 2.0.PID = empID; PAge = age; PName = fullName; PSocialSecurityNumber = ssn; PPay = currPay; } Строго говоря, это допустимый, но не оптимальный вариант. В C#, если вы не укажете иное, конструктор базового класса, заданный по умолчанию, вызывается автоматически до выполнения логики любого пользовательского конструктора Manager. После этого текущая реализация получает доступ к множеству открытых свойств базового класса Employee, чтобы задать его состояние. Поэтому здесь при создании производного объекта вы на самом деле "убиваете семь зайцев" (пять наследуемых свойствPи два вызова конструктора)! Чтобы оптимизировать создание производного класса, вы должны реализовать свои конструкторы подклассов так, чтобы явно вызвался подходящий пользовательский конструктор базового класса, а не конструктор, заданный по умолчанию. Таким образом можно уменьшить число вызовов инициализации наследуемых членов (что экономит время). Позвольте для этого модифицировать пользовательский конструктор. // На этот раз используем ключевое слово C# "base" для вызова // пользовательского конструктора с базовым классом. public Manager (string fullName, int age, int empID,Pfloat currPay, string ssn, ulong numbOfOpts): base(fullName, age, empID, currPay, ssn) { PnumberOfOptions = numbOfOpts; } Здесь конструктор был дополнен довольно запутанными элементами синтаксиса ...» |
Код для вставки книги в блог HTML
phpBB
текст
|
|