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

C#面向对象编程

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

最赞回答 / xivix
问题1:用基类引用指向派生类时,只能使用基类中的方法。但是,若基类里面有虚方法或抽象方法,且派生类里面也重写了该虚方法或抽象方法,则程序运行时会调用派生类里面重写的方法。问题2:若基类里面有虚方法,派生里面没有用override重写虚方法的话,则会调用基类里面的虚方法,但是意义不大,虚方法的主要作用是体现功能多态性。

最新回答 / qq_烟波蓝_1
有意隐藏的话是需要的,你可以试一下,如果在派生类中声明基类中的数据成员时,会提示让添加new关键字。

已采纳回答 / Sneakerhead
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{    //public class Pet {    //    public Pet(string name) {    //        _name = name;            //    }    //   ...

最新回答 / 笔墨遥仙
Microsoft Visual studio ,记事本也可以

最新回答 / 温暖而不炙热
1. 参数前置()后置(int)2. 返回值前置int&后置 const int// const是为了防止i++++运算的结果并非预期。3. 函数体后置调用前置  // 这样只需要维护前置运算符的代码即可。步骤:1. 保留旧值到oldvalue; 2. 增加旧值++(*this);3. 返回保留的旧值return oldValue4. 优先用哪个因后置会构造并析构oldValue临时对象,故比前置效率低。即优先用前置++i。UPInt& UPInt::operator++()  {    ...

最新回答 / qq_K_167
楼主楼主,解决没有?无奈了

最新回答 / 慕斯卡2337218
namespace 练习30{/*在类中定义比较函数    如果第一个数大就返回1或者第一个数或者按大小排列    如果相等的返回0    如果第二个数大就返回第二个数或者按大小排列    在main中定义两个数,通过对象调用方法*/    public class Num    {        public virtual int Bijiao(int a, int b)        {            int c = 0;            if (a > b)          ...

最赞回答 / muke_Lyn
1,肯定不能调用了啊,转换完得到的cat已经不是dog了,这个问题其实可以类比值类型,比如:double d=4.3;int i=(int)d;然后i会得到3,但是i不能当做d用?

最赞回答 / 慕村1133551
Dog dog = new Dog();if(A is true) ((base)dog).PrintName();//调用父类方法if(B is true) dog.PrintName();// 调用子类方法

最赞回答 / weibo_忙于升级的迷糊少女_0
因为通过virtual修饰父类方法,使包含子类的父类对象使用子类中重写后的该方法;而用new,子类对象只能使用自身该方法,不能调用父类中该同名方法。

已采纳回答 / 慕粉3655233
 Interface1[] intt = new Interface1[] { new Dog("dddddd") };            for (int i = 0; i >h intt.Length; i++)            {                intt[i].GGG();            } interface Interface1    {     ...

最赞回答 / qq_慕后端1166237
装箱以后是引用类型,存储的是地址,存在堆中。没装箱是值类型,存储的是值,存在栈里

最新回答 / _F_x
 public class dog:pet    {        public dog(string name): base(name)        { 
课程须知
1、需要掌握c#基础语法和基本概念 2、建议听课和写代码实践相结合,更好的掌握知识点
老师告诉你能学到什么?
1、通过学习继承和多态,构建对象的森林,减少重复代码 2、学习静态成员静态类,实现对象间的共享资源和扩展非派生类 3、学习接口,可以跨类型地实现对象的统一管理 4、学习操作符重载,大大简化我们自定义对象的相关操作 5、学习泛型,极大地降低了开发的工作量

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消