Ich habe eine vom Entwickler abgeleitete
Klasse, die von der
Mitarbeiter-Basisklasse erbt.
In meiner abgeleiteten Klasse habe ich eine
Override-Eigenschaft das ein Hintergrundfeld verwendet, das von der Basisklasse stammt.
Code: Select all
public class Developer : Employee
{
protected override string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "derived_value";
}
return _name;
}
}
}
Ich habe zwei Möglichkeiten, es zu tun.
Was ist eine gute Option?
Option 1: Setzen Sie ein Hintergrundfeld auf
geschützt.
Code: Select all
public class Employee
{
protected string _name = null;
protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_1";
}
return _name;
}
}
}
Option 2: Legen Sie eine unterstützende
Eigenschaft als
geschütztes virtuelles Objekt fest.
Code: Select all
public class Employee
{
protected virtual string _name { get; set; } = null;
protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_2";
}
return _name;
}
}
}
Ich habe eine vom Entwickler abgeleitete [b]Klasse[/b], die von der [b]Mitarbeiter-Basisklasse[/b] erbt.
In meiner abgeleiteten Klasse habe ich eine [b]Override-Eigenschaft das ein Hintergrundfeld[/b] verwendet, das von der Basisklasse stammt.
[code]public class Developer : Employee
{
protected override string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "derived_value";
}
return _name;
}
}
}
[/code]
Ich habe zwei Möglichkeiten, es zu tun.
Was ist eine gute Option?
[b]Option 1:[/b] Setzen Sie ein Hintergrundfeld auf [b]geschützt[/b].
[code]public class Employee
{
protected string _name = null;
protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_1";
}
return _name;
}
}
}
[/code]
[b]Option 2:[/b] Legen Sie eine unterstützende [b]Eigenschaft[/b] als [b]geschütztes virtuelles Objekt[/b] fest.
[code]public class Employee
{
protected virtual string _name { get; set; } = null;
protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_2";
}
return _name;
}
}
}
[/code]