如何理解面向对象

关于“面向对象”,网上有很多相关的介绍--《百科》,《维基百科》等都有详细的解释
这里笔者不准备讲什么理论,希望用更贴切日常生活的方式帮助大家理解面向对象设计的一些技巧,希望对大家有帮助

操作方法

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

  • 06

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

(0)

相关推荐

  • JAVA怎样理解面向对象

    学习JAVA语言必须掌握类和对象,这样可以从深层次理解JAVA这种面向对象的程序开发理念,从而更好更快地掌握JAVA的编程思想和方法.掌握类和对象是JAVA语言编程的基础.那么,到底什么是类和对象呢, ...

  • JAVA入门学什么

    最开始汇编到c语言再到现在的高级语言,这些些概念是必须要了解的,比如说java是面向对象的,如果你不知道什么是面向过程那么也就不能很好的理解面向对象以及使用对象技术. 操作方法 01 1.最开始汇编到 ...

  • 学习java的步骤和心得体会

    我做开发也是刚满一年,现在回想自己学习java的经历,当时真希望有一部大体的学习框架,这样自己就不会走许多弯路了,这是我在这一年工作和多年学习中的,希望对迷茫的java爱好者有所帮助: 第一步:首先要 ...

  • 易语言使用与研究

    看到一篇好论文,把主要的抄写下来,论文对易语言开发环境,语句,具有特色的易语言类,易模块,支持库,易语言输入法以及怎样引用API底层函数,外部支持库等外部资源的研究学习,并且通过与常用的程序开发软件进 ...

  • C#面向对象经典例子--俄罗斯方块思路分析

    首先,面向对象这块,俄罗斯方块是否为经典例子不清楚,只不过,自己感觉一个经典的小游戏对初学者来说,更容易理解,所以将此面向对象的例子选为俄罗斯方块. 另外,此经验只发表做俄罗斯方块的一些前期思路分析, ...

  • 基础知识:理解网络交换机的原理

    二层交换机概述   一、交换机的工作原理 1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。   2.交换机将数据帧中的目的MAC地址同已建立的MAC地址 ...

  • Windows 8 应用框架理解及开发工具使用实例教程

    Windows 操作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的。Windows 8继承Windows桌面的优点,同时提供一种新的用 ...

  • linux网络协议是什么?该如何去理解?

    网络协议有很多,但大多是针对windows的,那么linux网络协议你是怎么样理解的呢?本文和大家一起探讨这个问题。 Linux网络协议栈基于分层的设计思想,总共分为四层,从下往上依次是:物理层,链路 ...

  • 交换机三种端口模式Access.Hybrid和Trunk的理解

    今天有个朋友问交换机trunk是什么意思,百度了以下,发现特别详细的介绍。 TRUNK是端口汇聚的意思,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端口并行连接同时传输以 ...