如何向高中生介绍 Java 中的类,对象,接口等概念?

2023-02-14 22:26:10 +08:00
 ppppppp123
先歪个楼,祝大家节日快乐~

高三表弟对程序很感兴趣,如何用简单好懂的方式让他们领悟 Java 中的这些词汇的设计用意?
3154 次点击
所在节点    程序员
47 条回复
jooks
2023-02-14 22:37:20 +08:00
尚硅谷
netabare
2023-02-14 22:41:09 +08:00
一个具体的物体,一个可以划入若干个物体的分类,还有能够表达「某些分类的共性」的抽象概念,应该能找到一些比较好的例子去讲解。
GeruzoniAnsasu
2023-02-14 22:42:02 +08:00
GUI 编程。

对话框类 => 对话框的具体设计
对话框对象 => 几个一模一样但不同的对话框
接口 => 对话框模板

我当初一夜之间领悟 OO 这些概念全靠的是 MFC
duke807
2023-02-14 22:53:43 +08:00
你应该教 python 、js ,而非 java
Leviathann
2023-02-14 22:58:53 +08:00
interface 这个概念,很多人理解都有偏差,理解不到为什么 ui ,user interface 和程序里的 interface 用同一个词
实际上他们本就是同一个东西
cmdOptionKana
2023-02-14 23:00:12 +08:00
先让他在不理解设计用意的状态下写一些程序,写着写着,他自己就悟了。

反之,如果实践太少,靠理论灌输是很难吸收的。
Leviathann
2023-02-14 23:01:18 +08:00
另外可能对没有程序经验的,直接从贴近数学的基础函数式编程讲起可能更容易理解
而且我记得当初上高中的时候数学是有讲算法的,不是具体的某个算法,而是算法这个概念本事
qsmd42
2023-02-14 23:14:59 +08:00
高三学生跟大一学生在学 OOP 方面能有什么区别...
你当初怎么学的 就怎么教给他呗
Chieh
2023-02-14 23:40:21 +08:00
harvard cs50
1145148964
2023-02-14 23:45:45 +08:00
高三这个时候你教他,你这责任有点牛逼
windyskr
2023-02-14 23:50:35 +08:00
现在距离 2023 年高考还有 112 天 9 小时
majula
2023-02-15 00:03:26 +08:00
不建议上来就讲 Java 这种丑陋的工业语言,更进一步说,不建议上来就讲任何编程语言

先从理论开始,找几本 PLT 的书给他看

如果他不止对“程序”感兴趣,还对计算机的工作原理感兴趣,以后有可能想以职业为目标发展的话,那就直接让他看名校的 CS 公开课吧
echoless
2023-02-15 00:10:48 +08:00
狗汪汪 猫喵喵 鸭子嘎嘎嘎 都是动物叫 幼儿园都懂

叫起来像鸭子就是鸭子 哈哈
lingly02
2023-02-15 00:27:42 +08:00
我觉的兴趣是最好的老师。楼主可以从他最感兴趣的方面入手。比如让他列出心目中定义一个女朋友的属性和基本行为,比如身高体重之类的,教给他类的概念。再让他列出不同类型女朋友的特定行为,比如打扫,花钱等等。教给他接口和子类的概念。再将他现实中的女朋友实例化,告诉他什么是对象。以此类推,还可以教他组合,聚合,多态之类的
yaoyao1128
2023-02-15 02:45:51 +08:00
emm 如果可以的话,用 cpp 解释带入到 java 感觉比直接用 java 理解简单
ns09005264
2023-02-15 04:03:05 +08:00
以前学的时候,老师是从万物皆对象引入的。。
另外建议换个别的语言来学,比如 golang ,javascript 这些比较简单的,学的快,写点小工具也轻松,有成就感。
Pichai
2023-02-15 06:06:56 +08:00
高三还是抓紧时间搞个好本科
Chad0000
2023-02-15 06:36:02 +08:00
@cmdOptionKana #6
赞同,大概 20 年前,我高中时花了一个月泡在学校的电子阅览室(因为不要钱),拿着一本 Frontpage 2000 反复阅读并练习,全文翻了好几遍,学会了如何制作网页,同时也悟出了网站是什么。
leegradyllljjjj
2023-02-15 08:39:33 +08:00
这些程序员看来真把编程当圣经了
shakoon
2023-02-15 08:44:45 +08:00
相比之下,不如给他介绍个对象?[doge]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/916149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX