吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 505|回复: 9
收起左侧

[求助] 关于C#的里氏替换

[复制链接]
yishengi 发表于 2024-1-17 19:58
大佬们,本人小白一枚,刚刚开始学习c#语言,跟着B站的老赵视频学的,学到关于里氏替换,卡住了,什么就父类不能访问子类的对象,但是实例化的时候可以new子类,然后就访问到了,实在没听懂,有大佬给讲解讲解吗?感激不尽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

青青子衿骨 发表于 2024-1-17 22:32
一个类的对象,只能访问它本身的成员,子类本身的的属性它是不具备的,就好比人类和他的子类学生类,学生去上学这个属性,但人类没有这个属性。可以new子类,是因为,学生本身他也是人类,它是以人类的身份出现的,当他以人类身份出现时并不具备学生的属性,但是,如果里氏转换了,他就有学生的身份了,他现在就是个学生的身份,当然能访问作为学生类的属性
skyuce 发表于 2024-1-17 22:32
刚开始学不用去管这些东西, 基础用法先练熟来,甚至用最傻瓜式的方式去写,当你能用基础用法写一些小程序或一些小项目之后,再去学习复杂的方法,逐步替换。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wincao + 1 + 1 我很赞同!

查看全部评分

whisky2011 发表于 2024-1-18 09:00
skyuce 发表于 2024-1-17 22:32
刚开始学不用去管这些东西, 基础用法先练熟来,甚至用最傻瓜式的方式去写,当你能用基础用法写一些小程序 ...

对的,先研究基本的语法,一步步来
Reo_52 发表于 2024-1-18 11:31
我也刚接触C#的小白,学的比你早了一点,个人认为类本身就是一个引用类型,实例化一个 父类 = new子类,本质上是让父类指向一个子类的引用(我猜和(子类)父类转换以及 父类 as 子类 这两个方式差不多)。父类new父类肯定只能用它自己里面的东西,当父类指向子类的时候肯定就能使用子类的对象了啊,你这里如果搞不清楚,后面学虚方法和重写(virtual/override)的时候估计会更糊涂。
里氏替换目前感觉后面学到了接口以及一些list的时候才能深刻体会这个东西的意义。

B站上面关于C#基础的教程很多,看老赵的不明白,就换着看看其他老师的,比如唐老狮的基础课程、另一个老赵 叫赵新政的、IT萌叔Jack等等多的是,人无完人,老师不可能每个细节都能让你听明白,唐老狮讲索引器那课直接给我听傻了,反正听不懂的课就换别的老师看看有没有讲相同内容的,或许就能明白了。
 楼主| yishengi 发表于 2024-1-18 13:17
青青子衿骨 发表于 2024-1-17 22:32
一个类的对象,只能访问它本身的成员,子类本身的的属性它是不具备的,就好比人类和他的子类学生类,学生去 ...

谢谢大佬指点
 楼主| yishengi 发表于 2024-1-18 13:18
skyuce 发表于 2024-1-17 22:32
刚开始学不用去管这些东西, 基础用法先练熟来,甚至用最傻瓜式的方式去写,当你能用基础用法写一些小程序 ...

谢谢指点
 楼主| yishengi 发表于 2024-1-18 14:39
Reo_52 发表于 2024-1-18 11:31
我也刚接触C#的小白,学的比你早了一点,个人认为类本身就是一个引用类型,实例化一个 父类 = new子类,本 ...

谢谢指点
ignativs 发表于 2024-1-19 14:58
里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。
瑞雪软件 发表于 2024-2-1 11:27
ignativs 发表于 2024-1-19 14:58
里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。

这个应该是 开闭原则吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-11 23:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表