03 2019 档案

摘要:1、什么时候用虚方法来实现多态? 答:在几个类中能抽象出一个父类,并且父类当中必须写上这几个子类共有的一个方法,然后我们不但知道写这个方法,并且还需要创建父类的对象,这个时候用虚方法来实现多态。 2、什么时候用抽象类来实现多态? 答:在几个类中能抽象出一个父类,并且父类当中必须写上这几个子类共有的一 阅读全文
posted @ 2019-03-21 19:17 杯子旁边有手机 阅读(153) 评论(0) 推荐(0) 编辑
摘要:里氏转换 首先,里氏转换有两条特性: 1).子类可以赋值给父类。 2).如果父类中装的是子类对象,那么可以将这个父类强制转换成子类对象。 下面通过一个简单的例子来说明这两个特性。 例:向控制台随机打印连续的10行字符串(类似于“我是学生”,我是“老师”等等即可)。 先声明一系列的类,代码如下: 上面 阅读全文
posted @ 2019-03-16 18:13 杯子旁边有手机 阅读(294) 评论(0) 推荐(0) 编辑
摘要:继承 用来解决类与类之间的代码冗余。 我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类。如下代码: 上面代码中,Person作为一个父类,封装了属性Name,Gender,Age,这三个属性对于Student类,Techer类以及Driver类 阅读全文
posted @ 2019-03-16 13:01 杯子旁边有手机 阅读(182) 评论(0) 推荐(0) 编辑
摘要:字符串1)、字符串的不可变性当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。 当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁。 2)、我们可以将字符串看做是char类型的一个只读数组。ToCharArray();将字符串转换为char数组new 阅读全文
posted @ 2019-03-16 10:45 杯子旁边有手机 阅读(169) 评论(0) 推荐(0) 编辑
摘要:目前接触到的值类型与引用类型: 值类型:int,double,bool,char,decimal,struct,enum 引用类型:string,自定义类,数组 区别: 1、值类型和引用类型在内存上存储的地方不一样。值类型的值存储在栈中;引用类型的值存储在堆中,引用类型在堆中存储值的空间有个地址,这 阅读全文
posted @ 2019-03-16 10:08 杯子旁边有手机 阅读(122) 评论(0) 推荐(0) 编辑
摘要:析构函数 语法如下代码: 当程序结束的时候,析构函数才执行。 作用: 帮助我们释放资源。 析构函数的特点: 1.不能在结构中定义析构函数。只能对类使用析构函数。 2.一个类只能有一个析构函数。 3.无法继承或重载析构函数。 4.无法调用析构函数,他们是被自动调用执行的。 5.析构函数既没有修饰符,也 阅读全文
posted @ 2019-03-15 12:00 杯子旁边有手机 阅读(850) 评论(0) 推荐(0) 编辑
摘要:构造函数(或称构造方法) 构造方法用来创建对象,并且可以在构造函数中对对象进行初始化。 作用:帮助我们初始化对象(给对象的每个属性依次的赋值)。 不用构造函数的情况下,如下代码: 上面代码没有用到构造函数,在Main方法中调用Students类创建对象并给属性赋值时,当需要创建多个对象("zsStu 阅读全文
posted @ 2019-03-15 11:35 杯子旁边有手机 阅读(1809) 评论(0) 推荐(1) 编辑
摘要:静态和非静态的区别1、在非静态类中,既可以有实例成员,也可以有静态成员。如下代码: 2、在调用实例成员的时候,需要使用对象名.实例成员;在调用静态成员的时候,需要使用类名.静态成员名。如下代码: 总结: 1)静态成员必须使用类名去调用,而实例成员使用对象名调用。如下代码: 2)静态函数中,只能访问静 阅读全文
posted @ 2019-03-14 22:31 杯子旁边有手机 阅读(513) 评论(0) 推荐(0) 编辑
摘要:属性(properties) 属性本质上就是两个方法,一个get(),一个set(); 使用Reflector7.0软件,反编译代码生成的可执行文件XX.exe,查看set()与get()的方法: 由此可以看出,属性本身不存储数值,属性类似于“中间加工商”,经过一个中间变量value,最终数值的输入 阅读全文
posted @ 2019-03-14 19:25 杯子旁边有手机 阅读(330) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示