属性由get,set两个模块组成,相互是独立的,外部读取属性通过get,外部设置属性通过set,只有get为只读。get块必须有retrun 一个该类型的返回值作为属性的初始值,set块里自带一个默认的value变量,通过value可以获取set块设置的值。
private int Int;
public int _Int
{
get {
return Int;
}
set {
Int = value;
}
}
这个叫做get set 方法 ,通过一个私有变量由set块向get块传递信息
属性是高级的字段如(int i=5;),属性可以控制传递进来的值。
private int Int;
public int _Int
{
get {
return Int;
}
set {
if(value>=0)
Int = value;
else print("错误");
}
}
当传进来的值大于0的时候才设置 否者报错;
public int _Int
{
get {
return Int;
}
private set {
Int = value;
}
}
设置保护 属性只能在内部设置外部调用,防止外部设置。
字段小写属性大写 或者属性加个下划线_Int
简写属性 public int age { get; set; }
简写后系统会自动分配一个字段来供属性传递信息,程序员就不用再自己建private Int了,也不用初始化赋值了
————————————————————————————————
interface IFlyHandler
{
void Fly()
{
}
}
_____________
public class JieKou : IFlyHandler {
public void Fly();
}
a) 代码void disFile();应该编写为void disFile(){}; //接口中不能去实现函数
a) 抽象基类可以包含非抽象方法,而接口只能包含抽象方法
第一接口更抽象类完全相同,不同点是不允许提供任何的成员实现方式,
1接口只能包含 方法 属性 索引器 和 事件声明。
2接口不能有构造函数,不能有字段,接口不允许运算符重载。
3定义接口是 不能有修饰符 ,都是共有的
4 最好的习惯是以I开头 和interface 保持一致的命名习惯
5 实现接口必须完全实现接口的功能,有几个功能就得实现几个功能
6 接口是可以相互继承的,接口之间的集成不必完全实现功能。这叫派生接口