手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何理解面向对象

时间:2024-10-13 10:53:28

1、记得当年,JAVA课第一讲就是面向对象,用老师的一句话“一切皆对象”,那么如何理解程序设计中的面向对象,我们重点关注下面向对象程序设计中的几个关键点,下面将以问答形式阐述(代码以JAVA示范,读者可联系其它面向对象语言):

如何理解面向对象

2、*什么是对象,对象的方法/属性又是什么?这里的对象可以是一切的事物,包括:人、物体等属性即是该事务的一些特征,如:颜色、大小等方法是事务的动作,如:跑,跳等举个例子:家里养了一只棕色的泰迪,它今年一岁半了,喜欢“汪汪”叫这里的泰迪就是一个对象,“棕色、一岁半”都是它的属性,叫是它的动作(即方法),用代码示范:class Teddy{ public Color color;//属性 public double age;//属性 public void bark(){}//方法}

如何理解面向对象

3、*怎么理解程序中的类?所谓“类”,即分类、归类(--可能有点不太恰当,但是方便理解)就是把具有相似特征的事物放在一起统称为类例如:生物学上有:鸟类、哺乳类等划分

4、*什么是继承?我们还拿上面的泰迪举例:泰迪、腊肠、黄毛、斑点等,它们有犬类所共有的特征:都有眼睛、有鼻子、有耳朵、会叫、会跳。。。这些属性和方法都是从仃试孔万犬类继承过来的这时我们就可以对上面泰迪的代码做些改动,首先定义一个犬类,它有一些通用的属性和方法class Dog{ public Color color;//属性 public double age;//属性 。。。。 public void bark(){}//方法}class Teddy extends Dog{//泰迪继承了犬类,即拥有犬类的通有属性和方法}

5、*什么是多态?我们在上面的基础上再做一些改动,可以看出泰迪和腊肠都继承了犬类“叫”的动作,但是它们的叫又有些区别,像这不同的犬都用“叫”这个动作,但又有它们各自的特点,这就是多态Dog类不变class Teddy extends Dog{ @override public void bark(){}}class Dachshund extends Dog{//腊肠 @override public void bark(){}}

如何理解面向对象

6、*什么是封装?这个其实比较好理解,拿现实生活的例子来说“汽车发动机”,如某国产轿车采用骒貉缭塄原装进口发动机,那么这个轿车生产商直接拿进口发动机来用,不知道发动机内部构造以及如何生产(PS:笔者衷心希击纲橘溪望国产汽车能够强大起来)class Engine{ private List<T> materials; private List<T> parts; 。。。。 privateEngine produce(){ ............ }/*****上面的原材料,零部件,生产工艺等等我们是看不到的***/ publicEngine getEngine(){//只能得到现成的发动机 returnproduce(); }}

如何理解面向对象
© 手抄报圈