fas*_*ava 1 language-agnostic programming-languages
在OOP中,有些实体(例如Person)具有属性(例如名称,地址等)并且它具有方法.你怎么形容new?将抽象实体带入真实实体是一种方法还是只是一种特殊的标记?
给你的CS学生?不要给它涂糖衣,他们需要能够很快地使用与计算机领域无关的隐喻来理解这些概念,同时试图向你80岁的祖母解释它是好的,也无济于事很多CS学生.
简单地说,告诉他们一个类是某个东西的规范,而一个对象是那个东西的具体实例.所有这些new都是基于规范创建一个具体的实例.这包括创建(不一定是类特定的,这就是为什么我会毫不犹豫地将其称为方法,为类绑定函数保留该术语)和初始化(这是特定于类的).
根据语言的不同new,可以使用关键字作为运算符或修饰符.例如在C#中可以使用new:
对于全新的学生,我只会将其描述new为一个关键词,并将修饰语留在讨论之外.我将类描述为蓝图,new并将这些蓝图转化为有形的东西 - 对象.
您可能想要查看我的问题:如何向程序编程人员讲授面向对象的编程,以获得向新开发人员教授OOP的其他好答案.