您如何描述新CS学生的新内容?

fas*_*ava 1 language-agnostic programming-languages

在OOP中,有些实体(例如Person)具有属性(例如名称,地址等)并且它具有方法.你怎么形容new?将抽象实体带入真实实体是一种方法还是只是一种特殊的标记?

Ign*_*ams 6

有时它是一种方法,有时只是语法糖调用分配器方法.语言很重要.


pax*_*blo 6

给你的CS学生?不要给它涂糖衣,他们需要能够很快地使用与计算机领域无关的隐喻来理解这些概念,同时试图向你80岁的祖母解释它是好的,也无济于事很多CS学生.

简单地说,告诉他们一个类是某个东西的规范,而一个对象是那个东西的具体实例.所有这些new都是基于规范创建一个具体的实例.这包括创建(不一定是类特定的,这就是为什么我会毫不犹豫地将其称为方法,为类绑定函数保留该术语)初始化(这特定于类的).


ahs*_*ele 5

根据语言的不同new,可以使用关键字作为运算符或修饰符.例如在C#中可以使用new:

  • new运算符 - 用于在堆上创建对象并调用构造函数.
  • new修饰符 - 用于从基类成员隐藏继承的成员

对于全新的学生,我只会将其描述new为一个关键词,并将修饰语留在讨论之外.我将类描述为蓝图,new并将这些蓝图转化为有形的东西 - 对象.

您可能想要查看我的问题:如何向程序编程人员讲授面向对象的编程,以获得向新开发人员教授OOP的其他好答案.