菜鸟学习,大侠多指教(对多态、重载和封装的初步了解)
2006-08-29 23:22
411 查看
经过了一番思想争斗之后终于决定改换工作想IT业进军,^_^ 。就从JAVA开始把,JAVA的主要思想就是面向对象的思想了,那要如何理解这个面向对象的思想呢??经高人指点,要想把面向对象的思想搞清出首现得先把以下三个概念搞清出,那是什么呢?就是多态、重载和封装。其实要搞清这几个概念也不是一朝一夕的事,我刚看JAVA没有几天所以也不敢在此作过多的妄言,也只是想谈谈自己对他们的初步看法。
怎么说呢,我认为封装、重载和多态其实在一定程度上是密不可分的,但我还是先分别说一说吧.
封装,是为了提高系统的聚合性和安全性,类一旦使用了封装,外部类就不能随便的访问该类中的任何一个属性和方法,那如何使外部的类访问封装的类呢,就要求有一个接口来于外部进行连接从而处理解决问题。再怎么说都是为用做基础的,参考大侠们的作品在用的过程中应该做到以下几点:1是接口的设计,封装是为了类的安全性和聚合性,而类又是为了别人来用的,那么接口的设计就必须做到尽可能的简单化;2是封装的难易程度,要根据用户的使用来设计封装的难易。
重载,是在同一个类中,具有相同实现功能的名称相同而内部有所不同的方法,那么既然方法名都相同了又如何来区分他们呢,这主要就是在各个方法所传递的参数上,传递不同的参数置将调用不同的方法。比如在一个类中可以存在多个构造函数来对定义的对象初始化,那么这些构造函数就是重载是构造函数的重载,他们的区分就是根据传递的参数的类型和个数的不同而进行的。还有比如要打印一个东西,我并不需要知道要打印的到底是什么类型啊什么的只要输入print就可以出来好多关于打印的方法,我只需根据要打印的内容选择所要使用的方法即可。这样对程序员来说,就不必记忆太多的东西,方便了第三方的使用。
多态,我对多态的理解不是很多,就我的理解多态是同一中方法的不同使用,比如从许多现象中抽象出一个方发来,从在于一个基类中,在该基类下有许多的子类,并且这些子类都继承了该基类中的这个抽象出来的方法,但是不同的子类又具有不同的属于自己的属性,例如:艺术家的表演方法对于不同的子类而言就有不同的表现形式,这这就是共性中的特性。这样的特性到底有什么好处呢?第三方在使用时,只需和基类进行联系就可以了根本就不需要了解内部到底是怎样的,这加强了程序的安全性,减少了程序的重复性也就是减少了冗余,并且如果基类下的子类有所增加,我们不必根改程序,只需添加一些相关的子类和调用方法就可以了,不会对程序的使用人员造成更改前后程序的不能使用。
以上就是小菜鸟对java的粗浅认识,请专业人士多多指点,3Q3Q
怎么说呢,我认为封装、重载和多态其实在一定程度上是密不可分的,但我还是先分别说一说吧.
封装,是为了提高系统的聚合性和安全性,类一旦使用了封装,外部类就不能随便的访问该类中的任何一个属性和方法,那如何使外部的类访问封装的类呢,就要求有一个接口来于外部进行连接从而处理解决问题。再怎么说都是为用做基础的,参考大侠们的作品在用的过程中应该做到以下几点:1是接口的设计,封装是为了类的安全性和聚合性,而类又是为了别人来用的,那么接口的设计就必须做到尽可能的简单化;2是封装的难易程度,要根据用户的使用来设计封装的难易。
重载,是在同一个类中,具有相同实现功能的名称相同而内部有所不同的方法,那么既然方法名都相同了又如何来区分他们呢,这主要就是在各个方法所传递的参数上,传递不同的参数置将调用不同的方法。比如在一个类中可以存在多个构造函数来对定义的对象初始化,那么这些构造函数就是重载是构造函数的重载,他们的区分就是根据传递的参数的类型和个数的不同而进行的。还有比如要打印一个东西,我并不需要知道要打印的到底是什么类型啊什么的只要输入print就可以出来好多关于打印的方法,我只需根据要打印的内容选择所要使用的方法即可。这样对程序员来说,就不必记忆太多的东西,方便了第三方的使用。
多态,我对多态的理解不是很多,就我的理解多态是同一中方法的不同使用,比如从许多现象中抽象出一个方发来,从在于一个基类中,在该基类下有许多的子类,并且这些子类都继承了该基类中的这个抽象出来的方法,但是不同的子类又具有不同的属于自己的属性,例如:艺术家的表演方法对于不同的子类而言就有不同的表现形式,这这就是共性中的特性。这样的特性到底有什么好处呢?第三方在使用时,只需和基类进行联系就可以了根本就不需要了解内部到底是怎样的,这加强了程序的安全性,减少了程序的重复性也就是减少了冗余,并且如果基类下的子类有所增加,我们不必根改程序,只需添加一些相关的子类和调用方法就可以了,不会对程序的使用人员造成更改前后程序的不能使用。
以上就是小菜鸟对java的粗浅认识,请专业人士多多指点,3Q3Q
相关文章推荐
- 菜鸟的学习之路(3) —java 面向对象程序设计的封装、继承和多态
- 学习HTTP---初步了解(一)
- Java学习第六课--面向对象的三大特性(封装、继承和多态)
- 韩顺平 javascript教学视频_学习笔记19_js面向对象三大特征(封装,继承,多态)
- OC学习篇之---类的三大特性(封装,继承,多态)
- c++ 学习 对重写(覆盖)、重载、多态的理解
- Hadoop学习笔记之初步了解HDFS
- MapReduce技术的初步了解与学习
- C# 学习历程——类的封装,继承与多态
- 黑马程序员_OC学习之封装,继承,多态
- 初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
- 基本概念继承,封装,多态,重载
- 对象之间的通信,面向对象的三大特征,封装,继承,多态;以及重写,重载
- 学习笔记 Java类的封装、继承和多态 2014.7.10
- php部分--面向对象三大特性-封装(另加连续调用的一个例子)、继承(重写、重载的例子)、多态;
- Python学习记录七---继承、多态和封装
- 小白学习JavaScript——初步了解
- C++学习笔记五——函数重载(多态)、函数模板及函数模板重载和完全匹配与最佳匹配
- 大型机学习之初步了解-相关技术
- 菜鸟入门之浅谈函数重载和多态的区别