【编程基础第五讲】java面向对象思想如何理解?

存在的疑惑:

如何理解面向对象的思想?

解决方案:

比如说,我们要用程序来描述一个人。如果是以往的结构化编程,我们可能会这样; 例如用C语言的话,可能会建立一个结构体: struct Person{ 姓名; 年龄; 等等;... } 然后用定义的一些函数来描述他的行为。比如void walk(struct p); void eat(struct p);等等。 然后使用 walk(p) 来描述行走,使用eat(p)来描述吃饭等。 这样不利于程序结构的维护。开发效率也不高。 但是用java面向对象方式,这一切就显得自然了。我们建立一个类,表示人: class Person{ 姓名 性别 体重 身高等..(人类都有的属性) 吃饭 睡觉 等行为(也就是人类都有的行为) } 然后将类产生一个实例,就产生了一个'人'的对象。 Person xiaobai = new Person("小白",身高,体重...等参数); 如果要描述祖先后代的关系,很简单。只要让人类继承自Animal即可。 class Animal{ ...... } class Person extends Animal{ ....... } 这样动物有的属性和行为,人不用定义也可以拥有,符合自然规律~哈哈 面向对象不是java特有的,只是一种思想,如果你愿意,用结构化语言C语言也可以写出面向对象的代码。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

函数式编程初探

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言...

38960
来自专栏JAVA高级架构开发

面向对象编程,再见!

作为程序员,你是使用函数式编程还是面向对象编程方式?在本文中,拥有 10 多年软件开发经验的作者从面向对象编程的三大特性——继承、封装、多态三大角度提出了自己的...

31700
来自专栏web前端教室

大周末的不多说,面试十点必看

实事求是的讲,前端新人因为时间的关系,对于JavaScript的理解确实是无法面面具到,甚至有些知识点我讲的比较深入,但因为每个人的程度不同,依然无法做到当堂理...

20250
来自专栏GopherCoder

『No25: 编写可读代码的艺术(2)』

根据:先处理正向逻辑,处理简单的,处理可疑或者有趣的准则,改善如下(仅仅只是调换顺序)

12020
来自专栏GreenLeaves

初识javascript

1.简介:Javascript是Netscape(网景)公司与Sun公司(现被甲骨文收购)合作开发的一款是网页具备交互能力的程序设计语言。 2.与之功能相同的语...

18090
来自专栏我和我大前端的故事

数组对象根据对象中指定的属性去重?你知道多少

有一天有一个朋友给我发来消息 “数组对象根据对象中指定的属性去重?让我写写看”,看到这个的时候我有点懵逼,好像不太会。

55730
来自专栏IT派

真疯了!Java 9 还没会用,Java 10 就要来了!

2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,随后,Oracle发言人Donald Smith在他的博客中确认了这一消息。该决定将在...

41470
来自专栏LEo的网络日志

广度优先搜索算法(go)

17950
来自专栏企鹅号快讯

入门新手是用Python2还是Pythony3?不同在哪里?

1. print不再是句子,而是函数,比方本来是 print 'abc' 现在是 print('abc')可是 python2.6+ 能够运用 from __f...

25480
来自专栏灯塔大数据

技术 | Python从零开始系列连载(十八)

可迭代对象:在之前学习的基础上,可以简单的理解为可以用for循环遍历的,如学过的list tuple dict set str

10910

扫码关注云+社区

领取腾讯云代金券