小弟多年前曾学过一点java
试着就自己的经验说说看
首先 要有物件的概念(属性attribute, 行为method)
例如,要定义一个“人”的物件
可以定的属性 身高 体重 性别 ..等等
可以定的行为 走路 说话 吃 ..等等
封装
把一个物件的属性与行为包装起来,加入存取权限的控制
特性就是你可以决定别人可以叫你做什么事 (使用你的哪些行为或属性)
例如你定义了一个“听”的行为,任何物件都可以叫你“听”
但你应该不会想让任何物件都可以叫你吃东西
继承
一个物件继承了另一个物件,就会有另一个物件的基本属性与行为
特性就是你可以将所有物件做一个分类的整理
一方面省去共有属性、行为的重复定义,另一方面当你要定一个新物件时,
可以拿旧物件所既有的资源来使用
例如你可以定一个“动物”的物件,把“人”与“狗”都归在这一类
共有的属性可以有 身高 体重 品种 ..等
共有的行为可以有 走路 说话(发出声音) 听 ..等
将来如果你要定一个新的物件“猫”,一样可以从“动物”中继承出来
共有的行为中有不同的内容,可以在各自的物件中再做定义(覆写)
多型
一个物件中同样的行为,喂入不同的参数,可以定义不同的反应
(假设你知道函式/参数的观念)
特性就是你可以在使用一个行为时,不用为了参数不同而呼叫不同的函式
例如同样是听到声音,听到中文与听到英文会有不同反应
使用上可以直接以 听(声音)
而不需要 if(声音 instanceof 中文) 听中文(声音)
else if(声音 instanceof 英文) 听英文(声音)
else if...
刚开始写没发觉
写到后面愈来愈觉得ps大大说的有道理..
不知道发问的人程度,根本无法拿捏该怎么说、该说多少..
如果原po有看到的话再看看还需要补充什么..
如果高手们有发现什么问题,还请不吝赐教.. 谢谢囉^^
※ 引述《wwe89039 (灌肠风暴)》之铭言:
: 1.物件导向语言的封装(encapsulation)特性为何?
: 2.物件导向语言的继承(inheritance)特性为何?
: 3.物件导向语言的多型(polymorphism)特性为何?
: 上知识+查到资料也看过后
: 还是没办法用比较口语化的方式写出来
: 拜托乡民大大们帮帮我~~~
: 感谢