1
jooks 227 天前
尚硅谷
|
![]() |
2
netabare 227 天前 via Android
一个具体的物体,一个可以划入若干个物体的分类,还有能够表达「某些分类的共性」的抽象概念,应该能找到一些比较好的例子去讲解。
|
3
GeruzoniAnsasu 227 天前
GUI 编程。
对话框类 => 对话框的具体设计 对话框对象 => 几个一模一样但不同的对话框 接口 => 对话框模板 我当初一夜之间领悟 OO 这些概念全靠的是 MFC |
4
duke807 227 天前 via Android
你应该教 python 、js ,而非 java
|
5
Leviathann 227 天前
interface 这个概念,很多人理解都有偏差,理解不到为什么 ui ,user interface 和程序里的 interface 用同一个词
实际上他们本就是同一个东西 |
![]() |
6
cmdOptionKana 227 天前
先让他在不理解设计用意的状态下写一些程序,写着写着,他自己就悟了。
反之,如果实践太少,靠理论灌输是很难吸收的。 |
7
Leviathann 227 天前
另外可能对没有程序经验的,直接从贴近数学的基础函数式编程讲起可能更容易理解
而且我记得当初上高中的时候数学是有讲算法的,不是具体的某个算法,而是算法这个概念本事 |
![]() |
8
qsmd42 227 天前
高三学生跟大一学生在学 OOP 方面能有什么区别...
你当初怎么学的 就怎么教给他呗 |
9
Chieh 227 天前
harvard cs50
|
10
1145148964 227 天前 via Android ![]() 高三这个时候你教他,你这责任有点牛逼
|
11
windyskr 227 天前
现在距离 2023 年高考还有 112 天 9 小时
|
12
majula 227 天前
不建议上来就讲 Java 这种丑陋的工业语言,更进一步说,不建议上来就讲任何编程语言
先从理论开始,找几本 PLT 的书给他看 如果他不止对“程序”感兴趣,还对计算机的工作原理感兴趣,以后有可能想以职业为目标发展的话,那就直接让他看名校的 CS 公开课吧 |
![]() |
13
echoless 227 天前 via Android
狗汪汪 猫喵喵 鸭子嘎嘎嘎 都是动物叫 幼儿园都懂
叫起来像鸭子就是鸭子 哈哈 |
14
lingly02 226 天前 via iPhone
我觉的兴趣是最好的老师。楼主可以从他最感兴趣的方面入手。比如让他列出心目中定义一个女朋友的属性和基本行为,比如身高体重之类的,教给他类的概念。再让他列出不同类型女朋友的特定行为,比如打扫,花钱等等。教给他接口和子类的概念。再将他现实中的女朋友实例化,告诉他什么是对象。以此类推,还可以教他组合,聚合,多态之类的
|
![]() |
15
yaoyao1128 226 天前 via iPhone
emm 如果可以的话,用 cpp 解释带入到 java 感觉比直接用 java 理解简单
|
![]() |
16
ns09005264 226 天前
以前学的时候,老师是从万物皆对象引入的。。
另外建议换个别的语言来学,比如 golang ,javascript 这些比较简单的,学的快,写点小工具也轻松,有成就感。 |
![]() |
17
Pichai 226 天前 via iPhone
高三还是抓紧时间搞个好本科
|
![]() |
18
Chad0000 226 天前
@cmdOptionKana #6
赞同,大概 20 年前,我高中时花了一个月泡在学校的电子阅览室(因为不要钱),拿着一本 Frontpage 2000 反复阅读并练习,全文翻了好几遍,学会了如何制作网页,同时也悟出了网站是什么。 |
![]() |
19
leegradyllljjjj 226 天前 via Android ![]() 这些程序员看来真把编程当圣经了
|
![]() |
20
shakoon 226 天前
相比之下,不如给他介绍个对象?[doge]
|
![]() |
21
fiypig 226 天前
讲通俗比喻更容易理解
|
![]() |
22
ALLROBOT 226 天前
如果是入门,建议用易语言,看中文代码至少能建立一个概念,然后再玩 python ,后面就随意了
毕竟日常生活用得上就几门语言 python ,js 之类。。。其它语言使用的机会不多 |
![]() |
23
Lefi 226 天前
高三不是应该迎战高考么,怎么还有时间写程序...
|
![]() |
24
darkengine 226 天前
我懂了,你的用意是劝退对不对
|
![]() |
25
onice 226 天前
可以举现实生活中的例子,让他体会面向对象的思想。比如告诉他,在 Java 中,一切都是对象。任何东西都可以抽象成类,一个东西有他的特性和行为,在 Java 中,用成员属性和方法来表示。比如要表示一台主机,思考一下,这台主机的特性是不是有:品牌,CPU 型号,内存大小,显卡型号,主板型号,硬盘容量等特性。这种特性在 Java 中用成员属性来表示。但是这台主机也有行为,是不是可以开机和关机,光驱可以弹出和关闭,类似于这种带有动作之类的行为,Java 中用方法来表示。。然后写一段 demo 给他看看。。。类似这样子吧,没编程经验,不了解面向过程的思想,完全领悟 OOP 可能还不行,可能很难理解为什么 OOP 要这么设计。但是可以让他体验一下什么是 OOP 。
|
26
nothingistrue 226 天前
编程的基础,是数学(算法)、语言(语法)、逻辑学、哲学( OOP 、设计模式等等)。这些东西,有些都参加工作的老手都不懂——正好这两天有几个怼 OO 的,就更别说还在准备八股文式中高考的初高中生了。省省别介绍了,真有不准备考试的闲工夫,教他打游戏谈恋爱都比这强。
|
27
nu11ptr 226 天前
转盘扫把拖拉机.jpg
|
28
wangerka 226 天前
建议和[我从来没见过比面向对象更糟糕的编程范式和语言]( https://www.v2ex.com/t/915980)battle 一下
|
![]() |
29
llsquaer 226 天前
用的 python 我的领悟是
函数多了就把相似功能的封装到一个类里面,去执行相关的功能.. 就像家里东西多了,总的要分类分区域存放方便使用. |
30
DefoliationM 226 天前 via Android
直接讲面向对象,不要讲 Java ,感觉还是比较好理解的。
|
![]() |
31
debuggerx 226 天前
自学的 java ,至今觉得 java 基础这块讲的最好的还是 mars 老师这套:
https://www.bilibili.com/video/BV15W411C7z6?p=12 |
32
Hurriance 226 天前 via iPhone
蛋糕模具,一个个蛋糕
|
33
NoKey 226 天前
高三毕业再说~
|
![]() |
34
AlexHsu 226 天前
为啥不从面向过程开始讲呢 c 和 python 甚至是 go 都比 java 适合当第一门语言啊
|
35
simplereasy 226 天前
head first java 讲的很好的入门书籍
|
37
Ericcccccccc 226 天前
高中生多学英语. 努力考更好的学校.
|
![]() |
38
liuidetmks 226 天前
高中生不是应该学好,上好学校吗。代码,设计模式玩的飞起没啥用。
|
39
aulayli 226 天前 via Android
先学会 java 基础吧,直接看廖雪峰的教程就行了。
|
40
brucebie 226 天前
还是先学 C 语言比较好,后面再学 C++,再后面学其它语言就容易了
|
41
simonlu9 226 天前
接口是功能,类的一个抽象的东西,对象是个具体的东西,比如手机吧,是一个类,你可以给它加上充电功能,充电功能是个标准的东西,规范了 typec 接口,然后厂商按照这个设计图来生产一个带充电的手机出来就可以了,后续在加功能,比如拍照,nfc ,蓝牙,都是一样,通过不同接口协议实现
|
42
saberlove 226 天前
对于高中生来说,介绍 Java 中的类、对象、接口等概念需要用简单易懂的语言和具体例子来解释。以下是一个可能的介绍方式:
类( Class ):在 Java 中,类是一种数据类型,它定义了一组属性和方法,可以被用来创建对象。例如,我们可以定义一个名为“Person”的类来表示一个人,这个类包含了一些属性(例如姓名、年龄、性别等)和方法(例如说话、跑步等)。 对象( Object ):对象是类的一个实例。当我们创建一个类的对象时,我们实际上是在创建该类的一个实例。例如,我们可以使用“Person”类来创建一个名为“tom”的对象,该对象包含了一个人的所有属性和方法。 接口( Interface ):接口是一种抽象类型,它定义了一组方法,但不提供方法的实现。其他类可以实现这个接口,并提供这些方法的实现。例如,我们可以定义一个名为“Playable”的接口来表示可播放的对象,该接口包含了一个名为“play”的方法。然后我们可以让“CDPlayer”类实现“Playable”接口,提供“play”方法的具体实现。 通过这些简单的解释和例子,高中生可以初步了解类、对象、接口等概念。当他们深入学习 Java 编程时,他们将更详细地了解这些概念的含义和用法。 |
43
arkerdota 226 天前
类 对象 就是为了精简代码量用的,你可以以设计一个具体的系统为例,比如一个超市的管理系统,一个一个的加入,其实比较建议看大话设计模式
|
44
cnbatch 225 天前
高三?最好高考完了再说,反正也不差这几个月的时间
|
45
buffzty 225 天前
如果我是老师 我不会直接教类. 我先教他定义一个函数,再使用这个函数,然后再定义三四个函数. 这时候引申一下 如果定义了几百个函数 就得归类,此时教他类. 如果只是教他用 他很难懂 他也不知道为什么要用类
|
46
huyangq 225 天前
建议从数学入手,程序就是状态机,就是根据算法产生的一条条指令,也就是从面向过程出发。
然后当软件规模上去之后,面向对象的思想就自然而然就出来了。 面向对象是一个方法论,是一种好的思维方式,跟语言本身是无关的,linux 源码处处是面向对象,但用的是 C 。 有了这些思想,自然而然就会有一些专有名词,然后用人话解释那些所谓的名词。 If you can’t explain it simply, you don’t understand it well enough. |
47
huyangq 225 天前
真要挑一个语言,还得是 C/C++,C 的语法很简单,慢慢地 C++为了面向对象写起来方便,就设计了很多东西,那些设计地目的是什么?怎么说呢?这个还得是一个慢慢学,慢慢悟地过程,一下就懂的那是天才。
|