huzhikuizainali

huzhikuizainali

V2EX 第 522912 号会员,加入于 2020-12-08 16:59:52 +08:00
今日活跃度排名 28835
请问究竟什么是 C++中的“相容类型”的含义?
C++  •  huzhikuizainali  •  34 天前  •  最后回复来自 sanbuks
4
“解引用”的返回类型为什么是“引用类型”?
C++  •  huzhikuizainali  •  42 天前  •  最后回复来自 cybort
5
可变数组在什么“产品需求”中会用到?
C++  •  huzhikuizainali  •  49 天前  •  最后回复来自 Masoud2023
11
请问是否有 C# “官方”文档?
C#  •  huzhikuizainali  •  70 天前  •  最后回复来自 ShineSmile
5
C#新建项目后新建的各种文件的作用是什么?
C#  •  huzhikuizainali  •  112 天前  •  最后回复来自 Dorian101
4
请问这个访问控制声明是否有点多余?
C#  •  huzhikuizainali  •  116 天前  •  最后回复来自 forgottencoast
3
huzhikuizainali 最近回复了
@sanbuks 谢谢回复。请问你说的是第几版 P407 ?可否提供一下 ISBN 号
@exch4nge 感谢你提供的参考链接。基本上可以认为“就是这么规定的”是吧。如果是这样。那也就不需要进一步去“理解了”
按照他的第三条规定,那么 decltype(*p+1) 返回的就是 int 类型,对吧?
@lisxour 谢谢分享。请问你发的这个是“用户环境变量”吧? 我是在系统环境变量中更改的 path
@Dorian101 那你的环境变量的 path 值是什么?另外你的 dotnet 路径是?
82 天前
回复了 huzhikuizainali 创建的主题 C# 请问是否有 C# “官方”文档?
@forgottencoast 如果非官方人员可以修改文档,如何保障文档的准确性和一致性?
@thisrabbit 谢谢回复
我搜了一下链式调用。看到的例子是 对象.方法.方法 这种形式。但是上面代码是:方法.方法 的形式。所以我不确定是不是链式调用?
还有我在 https://learn.microsoft.com/zh-cn/docs/ 这里搜索链式调用,Method Chaining 。也搜不到什么有用信息。是不是搜索方法有问题?
116 天前
回复了 huzhikuizainali 创建的主题 C# 请问这个访问控制声明是否有点多余?
@forgottencoast 谢谢解答。
我的面向对象主要是 matlab 中学的。matlab 中 Access=private 等同于 SetAccess=private & GetAccess=private .因此如果 SetAccess 和 GetAccess 分别设置了不同的访问限制就无需再对 Access 进行声明了。我觉得这从逻辑上来看很合理。

但是从上例 “3 、”来看 C#明显不允许这样。请问这是单纯的 C#语法规定?还是语言设计者有更深层的考虑。例如支持一些特殊的情况?
@codehz 谢谢回复。请教一下
1 、“ S 是 T 的子类型,但不是 T 的派生类型”,————这个用代码怎么实现?我的面向对象知识主要来自于 Matlab ,顺带看了一下 C++和 C#。从没遇到这种情况。

2 、“ 所以 java 的类继承是做了两件事
1. 复制父类的实现
2. 将自身标记为父类的子类型”

—————因为接口不存在任何“方法”的实现,只有方法的声明。所以不存在“复制父类的实现”这件事。所以当一个类 A 实现了接口 B ,并不能说 A 继承了 B ,我这么理解对么?


另外,无论是“类的继承”还是“接口继承”。这里面都没有对象什么事情啊。我完全可以不实例化任何一个对象就完成类的继承,或接口的实现。《设计模式》中为什么总说“对象”如何如何?我觉得这里完全没有对象什么事情啊!
@Nooooobycat 谢谢回复。
我在研究你的回复时,发现有几个问题我没有搞懂。
1 、截图中 CompareTo 模块中 MyClass me=(MyClass)obj;是什么意思?实例化一个 MyClass 对象。我过去看到的都是 MyClass me=new MyClass();

2 、if(this.TheValue<mc.TheValue) return -1; this 在这里指哪个对象?(书中说:this 关键字在类中使用,是对当前实例的引用。用途之一用于区分类的成员和局部变量或参数;----具体到这个模块谁是“当前实例?” public int TheValue; 这句可没有给出初始值。那么 this.TheValue 的值是多少呢?)
@Zhuzhuchenyan 谢谢谢谢回复
1.如你所说,确实如此
2.1 如果想实现“ A b=new B();这样的方式下无法调用派生类 B 的方法,只能调用基类 A 的方法”。—————要实现这个目的,完全可以将 B 类中相关方法设为私有,这样选择权在类的设计者手中,且更灵活。所以 C#允许 A b=new B()是否还有其他深意?特别是 c#中有 A 类 类型的变量 b 这种概念,在 Matlab 中 b 就是对象。不会叫作变量。我不知道这是翻译习惯的问题?还是二者概念确实不同?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1160 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 23:27 · PVG 07:27 · LAX 15:27 · JFK 18:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.