unity阶段复习(一)

1.类

面向对象程序设计实现信息封装的基础,是一种用户自定义类型,也称类类型

类中可嵌套类:比如一辆车(车类)包含*(*类)

命名空间外可以写类:命名空间是一种显性的约束而已 ,然而写不写在命名空间里对

语法没有影响。

函数无法写类:函数是种行为,行为和主体不能颠倒。

类默认是公有的,接口默认是公有的

2.封装  

写一个类,里面写一些属性和方法,每个类包含数据说明和一组数据或传递消息的函数。函数不能直接调用,必须是对象调用方法

 3.构造函数

没有返回值,如果有自定义的构造函数,就会调用自定义的构造函数。

如果是有继承关系的构造函数还可以这

public class Rect:Shape

{

public Rect (int a=0,int b=0):base(a,b)//这里两个a,b是对应的,子类的值传到基类的构造值中,再由基类调用基类写了的赋值语句对变量进行赋值。

{}  

}

4.析构函数

无权限符号,因为析构函数无共有私有,必须调用。

5.get,set函数

 public static int BufferHeight{get;set}//属性,本质还是函数 

是一种语法糖

public void SetLength(float length)

{

this.length=length;//类中有自定义的length

}

public flaot getLength()

{

return length;

}  

6.类的静态函数

静态变量和方法

静态变量是共享的,每次的改变对下次都有影响,不会因为是不同对象而不同

静态函数 可以实现直接类名调用,不用实例化调用

7.理解继承

基于有某种包含的关系,有一些共同的属性。

动物继承自活物,猫继承自动物

便于重复使用代码

接口实际是方法的集合,和类一样默认是公有的,因为全是给别人用的

c#不允许多重继承,允许继承接口,如果接口中的函数没有实现,则需要实现未实现的函数

8.理解多态

同一个行为,多个不同的表示形式和形态

比如一个类中两个add函数,名称相同,返回值相同,两者的参数个数,类型不同,即为多态

9.抽象类

public abstract class shape//抽象类

{

   public abstract int GetArea();//抽象方法

}

抽象类如果被继承,那么抽象类中的抽象方法必须在子类中被实现,抽象类中的抽象方法只是一个方法声明。

10.虚拟方法

与抽象方法相比较,如果一个类中有虚拟方法,若某个类继承自有虚拟方法的类,其中的虚拟方法不需必须实现(但是基类中的虚拟方法必须实现,至少要打大括号有返回值 )。抽象类的抽象方法子类是必须实现的(抽象类中的抽象方法只是声明)。

示例:

public class shape

{

public virtual void Rendershape()

{

console.writeLine("执行基类的渲染");

}

}

public class Rect:shape

{

public override void Rendershape()

{

console.writeLine("画一个矩形。");

base.RenderShape();

}

}

.....

main函数里面写

var shapes =new list<shape>//可变类型,当数据类型比较多不能统一的时候,用var

{

new Rect();

new Triangle();

new Circle();

}

foreach(Shape item in shapes)//shape换成var是一样的

{

item.RenderShape();

}

//遍历后的打印结果为(以Rect为例):画一个矩形,执行基类的渲染工作

11.属性的写法

public int height{get;set}

 

上一篇:Python游戏开发:Pygame的运行环境|案例运行与分析


下一篇:mfc 位图本地存储 本地位图读取显示