class Houes {
protected int baseSubgradeLength;
protected int baseSubgradeWeigth;
public Houes() {
baseSubgradeLength = 100;
baseSubgradeWeigth = 100;
}
}
住宅和商业地基的继承与修改
cs复制代码
Dwelling dwelling = new Dwelling();
Commerce commerce =new Commerce();
class Houes {
protected int baseSubgradeLength;
protected int baseSubgradeWeigth;
public Houes() {
baseSubgradeLength = 100;
baseSubgradeWeigth = 100;
}
}
class Dwelling : Houes {
public Dwelling() {
Console.WriteLine("{0}{1}", baseSubgradeLength += 50, baseSubgradeWeigth += 50);
}
}
class Commerce : Houes {
public Commerce() {
Console.WriteLine("{0}{1}", baseSubgradeLength += 100, baseSubgradeWeigth += 100);
}
}
3.继承属性
现在,为了房子地基的字段更加安全,有关部门设置为私有变量,只给出属性接口去修改
商业类和住宅类还是想修改地基长宽,应该怎么办?
cs复制代码
class Houes {
private int baseSubgradeLength;
private int baseSubgradeWeigth;
public Houes() {
baseSubgradeLength = 100;
baseSubgradeWeigth = 100;
}
protected int SubgradeL
{
get => baseSubgradeLength;
set => baseSubgradeLength = value;
}
protected int SubgradeWeigth
{
get=> baseSubgradeWeigth;
set => baseSubgradeWeigth = value;
}
}
还是像字段一样,在构造函数里直接通过继承来的属性访问器修改就行了
cs复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Dwelling dwelling = new Dwelling();
dwelling.
Commerce commerce =new Commerce();
class Houes {
private int baseSubgradeLength;
private int baseSubgradeWeigth;
public Houes() {
baseSubgradeLength = 100;
baseSubgradeWeigth = 100;
}
protected int SubgradeL
{
get => baseSubgradeLength;
set => baseSubgradeLength = value;
}
protected int SubgradeWeigth
{
get=> baseSubgradeWeigth;
set => baseSubgradeWeigth = value;
}
}
class Dwelling : Houes {
public Dwelling() {
Console.WriteLine("{0}{1}", SubgradeL += 50, SubgradeWeigth += 50);
}
}
class Commerce : Houes {
public Commerce() {
Console.WriteLine("{0}{1}", SubgradeL += 100, SubgradeWeigth += 100);
}
}