为了账号安全,请及时绑定邮箱和手机立即绑定

C#面向对象编程

kong66 全栈工程师
难度入门
时长 3小时17分
学习人数
综合评分9.47
105人评价 查看评价
9.7 内容实用
9.2 简洁易懂
9.5 逻辑清晰

已采纳回答 / CashQQJ
题主所指的new是子类里隐藏父类方法的关键字,不是新建实例关键字。virtual是虚函数关键字,修饰父类里的函数,子类可以用override重写该函数。virtual一般用在父类里,new一般用在子类里,其是成员修饰符。public是访问修饰符,用来限制访问权限。在c#里还有一种修饰符是类修饰符,例如:abstract。书写顺序习惯上一般是:访问修饰符 + 类修饰符,或者:成员修饰符 + 类修饰符但是不按照上面的顺序书写,编译器也不会报错,只是不太常用而已。

已采纳回答 / 汤姆oldTom
因为oi是Object类型的变量(或者叫引用),所以可以先将它转化为字符串类型后再输出打印,然后oi这个变量输出的3就是字符串类型的而非Object类。
老师骂人,举报了。
我们吃的多的到底做错了什么?
new 和 virtual/override 的区别 :
new :
1.基类的引用指向派生类的实例,调用基类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;

virtual/override :
1.基类的引用指向派生类的实例,调用派生类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;
public void isHappy<T>(T target){
console.WriteLine("happy:"+target.ToString());
}
定义一个人的类 class Person{}
使用 var dog = new Dog("A");
dog.isHappy<Person>(new Person());
dog.isHappy<int>(3);
int是值类型
public class Cage<T>{
T[] array;
readonly int Size;//大小
int num;//装了多少
public Cage(int n){Size = n;
num = 0;
array = new T(Size);
}//构造涵数
public void Putin(T pet){
if(num < Size){array[num++]=pet;}
else{Console.WriteLine("cage is full")}
}
} readonly 只读的
为什么要讲的这么复杂,讲的越多其实越不容易理解,容易被带偏
很谢谢你,快速复习了一遍
初学者懵逼还是正常的,确实乱了点,如果代码单独分开,会更好,这个跟C++里面的模板确实很相似
搞成一个文件挺好,我就喜欢这种全放在一个例子里讲的。
2倍都听的清楚,
没基础的建议1.5倍语速,有基础的建议2倍语速
别猫狗牛羊的,咱不是饲养员,就将思路,
地区很厉害啊,我都听的稀里糊涂的,最后在看别的教程一听就懂了
课程须知
1、需要掌握c#基础语法和基本概念 2、建议听课和写代码实践相结合,更好的掌握知识点
老师告诉你能学到什么?
1、通过学习继承和多态,构建对象的森林,减少重复代码 2、学习静态成员静态类,实现对象间的共享资源和扩展非派生类 3、学习接口,可以跨类型地实现对象的统一管理 4、学习操作符重载,大大简化我们自定义对象的相关操作 5、学习泛型,极大地降低了开发的工作量

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消