面向对象-猪的体悟
面向对象语言的特性是继承,封装,多态
说是这么说,怎么理解这个面向对象呢?
我说说自己的理解吧。
举个例子,古代带兵打仗,曹操说:我喜欢周瑜的老婆,将军你带兵去抢过来。 将军一听赶紧整合队伍去,向士兵发起攻打吴国抢周瑜老婆的命令。
这个例子就体现出了面向对象的这三个特性。
谁是对象?曹操是,将军是,每个人都是。
曹操调用将军,将军调用士兵,曹操也可以直接调用士兵,士兵可以晋升将军,将军也是士兵。
这么来说的话将军是士兵的子类,将军有士兵的特性,这是继承;将军是人士兵也是人,这是多态。
那么封装呢?一支队伍是不是封装?一个国家是不是封装?
纯属个人理解,比喻可能有些不恰当,大家一起交流交流。
面向对象语言。
为什么会有面向对象语言?它能干嘛?它比面向过程语言好在哪里?
猪学的是java,也了解过c。这两门语言比起来那个好那个差,猪只能说各有千秋
语言只是工具,不管什么语言它执行程序都是二进制高低电位。本质上是一样的。
c写程序每一步执行过程都得有,它只有简单的内置函数,代码量非常的大。
而java有jdk,里面有大量的工具类可以供开发者使用,简化了开发。
但是其运行需要的内存也就大了,当然,现在随便一台电脑包括手机内存都好几个g。这也是面向对象语言火起来的主要原因之一。
面向对象语言,目的就是简化开发,减少程序员的工作量。
怎样减少?写更少的代码。提高代码复用性,如果一串代码,在两处以上使用,你就可以把这段代码抽出来封装成一个类。
这样以后维护起来也方便不是?
一个不会偷懒的程序员不是好的程序员,23大设计模式那个不是为了偷懒而诞生的?
今天先写到这,猪说的很片面,c其实也很强大,一切都是以业务为主,不要为了写代码而写代码。