欢迎大家来到我的日志,今天先简单的复习下封装:
封装:将数据和操作组合到一起,并决定哪些数据和操作对外是可见的。
封装把对象的所有组成部分组合在一起,有三个作用 :
1.隐藏类的实现细节:使用方法将类的数据隐藏起来。
2.迫使用户去使用一个界面去访问数据:定义程序如何引用对象的数据,控制用户对类的修改和访问数据的程度。
3.使代码更好维护:类的内部实现改变,对外接口可以不变。
用属性来实现封装
属性是C#引入的一种语言成分,只有很少的语言支持属性。通过对属性的读和写来保护类中的域。
private string name;
public string Name
{
get
{
Return name;
}
set
{
name=value;
}
}
好处在于对象的使用者可以用一条语句来操作内部的数据。
继承
继承提供了创建新类的一种方法,继承对开发者来说就是代码共享。
1.通过继承创建的子类是作为另一个类的扩充或修正所定义的一个类。
2.子类从超类(父类)中继承所有方法和变量。
3.子类和超类之间是特化与范化的关系。
子类可以使用父类的protected和public可见的变量和方法,就像这些变量和方法是自己定义的一样。
私有成员和方法其实已经被继承了,但是它们却不可以被访问,因为私有成员和方法只能被声明它们的类中才可访问,所以看上去像是没有被继承。
C# 中,如果类声明时没有声明父类,那么缺省为Object 类的子类。C#中的所有类都是System.Object类的子类。
C#中,子类只能继承一个父类,但一个基类可以有多个直接派生类。继承是可以传递的
语法:子类声明:父类{子类体}
C#提供了一个sealed 修饰符,此修饰符会阻止其他类从该类继承。
Sealed class A{
}
派生类的建立需要注意:
(1).派生类会继承基类除了构造函数和析构函数的所有成员。
(2).派生类调用构造函数时,会先调用基类的构造函数。默认调用没有参数的构造函数。
(3).用base关键字显式调用基类构造函数(如果基类定义了带有参数的构造函数,那么此构造函数必须被执行,且在派生类中实现该构造函数,此时我们可以使用base关键字)
更多精彩可以关注http://www.gopedu.com/