- 浏览: 16691 次
- 性别:
- 来自: 武汉
最新评论
接触过编程语言的人都应该听过面向对象和面向过程这两个术语,那么面向对象和面向过程到底有什么区别呢?今天就让我带领大家初步认识一下java这门编程语言。
众所周知,java是一种典型的面向对象的语言,而且深受编程爱好者的喜爱。面向过程就是将要实现的功能写成一个个函数,在需要时调用,进而达到程序设计要求,c语言就是如此;面向对象就是将问题按照一定的规则划分为一个个独立对象,每个对象实现一定的功能,通过对象之间的相互配合达到程序设计的要求。相对于面向过程而言,面向对象的实现更容易,而且代码重复利用率高,当程序功能需要改变时,只需改动几个类即可;当然也有缺点,就是程序的执行效率较低,大概只有c语言的1/3。
面向对象编程有三个特点:封装性,继承性,多态性。
封装性:将对象的属性和行为封装在类里面,类对用户实现细节隐藏,用户只需要知道它的功能,不需要知道它的具体实现。提高程序的可维护性。
比如一个汉诺塔问题,用户只需要输入盘子的数目,便可得到移动的次数,而不需要知道程序是怎么实现那个的。
继承性:有些类与类之间有一种关系,那就是继承。继承就是利用对象之间特定的公共属性和方法来实现代码的重复利用。充分减少了代码冗余。比如:
public void Animal{
private String fur;
private int age;
}
public void dog extends Animal{
}
//子类dog就继承了父类Animal中的属性 fur和age,不需要再在子类中写
多态性:同一个属性或方法在基类和子类中具有不同的语义。同一个方法名可以根据参数个数或类型的不同来选择调用哪一个,从而扩大了对象的适应性。
public void Animal{
private String fur;
private int age;
public void voic(Class Animal ){
System.out.println("动物叫声");
)
}
public void dog extends Animal{
public void voic(Class Animal ){
System.out.println("狗叫声");
)
}
java编译器会根据参数类型是dog还是animal来调用相应的voice();即同一个voice()方法有不同的语义
众所周知,java是一种典型的面向对象的语言,而且深受编程爱好者的喜爱。面向过程就是将要实现的功能写成一个个函数,在需要时调用,进而达到程序设计要求,c语言就是如此;面向对象就是将问题按照一定的规则划分为一个个独立对象,每个对象实现一定的功能,通过对象之间的相互配合达到程序设计的要求。相对于面向过程而言,面向对象的实现更容易,而且代码重复利用率高,当程序功能需要改变时,只需改动几个类即可;当然也有缺点,就是程序的执行效率较低,大概只有c语言的1/3。
面向对象编程有三个特点:封装性,继承性,多态性。
封装性:将对象的属性和行为封装在类里面,类对用户实现细节隐藏,用户只需要知道它的功能,不需要知道它的具体实现。提高程序的可维护性。
比如一个汉诺塔问题,用户只需要输入盘子的数目,便可得到移动的次数,而不需要知道程序是怎么实现那个的。
继承性:有些类与类之间有一种关系,那就是继承。继承就是利用对象之间特定的公共属性和方法来实现代码的重复利用。充分减少了代码冗余。比如:
public void Animal{
private String fur;
private int age;
}
public void dog extends Animal{
}
//子类dog就继承了父类Animal中的属性 fur和age,不需要再在子类中写
多态性:同一个属性或方法在基类和子类中具有不同的语义。同一个方法名可以根据参数个数或类型的不同来选择调用哪一个,从而扩大了对象的适应性。
public void Animal{
private String fur;
private int age;
public void voic(Class Animal ){
System.out.println("动物叫声");
)
}
public void dog extends Animal{
public void voic(Class Animal ){
System.out.println("狗叫声");
)
}
java编译器会根据参数类型是dog还是animal来调用相应的voice();即同一个voice()方法有不同的语义
发表评论
-
浅谈hashtable
2015-05-02 13:44 0在学习编程中,我们都知道最基 ... -
Jlist的使用
2015-04-27 15:22 734以前对JList不大了解,只知 ... -
编写自定义窗体和组件
2015-04-27 11:51 609在学习java图形界面的时候,就想编 ... -
String,StringBuffer,StringBuilder
2015-04-26 17:24 365String一旦实例化,里面的 ... -
监听器原理
2015-04-26 13:15 511今天 ... -
JTable的使用
2015-04-26 11:23 665... -
java编程之集合框架
2015-01-09 23:27 608在写哈弗曼编码时,看到了优先队列, ... -
java编程之集合框架
2015-01-09 23:12 494我们知道集合 ... -
java编程之集合框架
2015-01-09 22:48 375java里面集合框架是比较重要的基础 ... -
java图形化用户界面
2014-11-15 23:03 530在前面我们实现了画一条直线,那么如何画 ... -
java编程基础之链表
2014-11-15 22:41 458数组查询速度虽然快,但插入删除不方便, ... -
java编程基础之数组队列
2014-11-15 22:14 412最常见的数据存储结构就是数组,数组 ... -
java网络通信
2014-10-20 22:44 379没接触通信编程之前,总觉得通信好神 ... -
java图形化用户界面
2014-10-20 21:57 409在前面的几篇博客中我们已近了解 ... -
java编程之多态性
2014-08-26 20:53 502[align=center][/align] 前面已经 ... -
java编程之接口
2014-08-25 21:58 394在前面我们已经讲过了抽象类和继承,今天就让我们来看 ... -
this和super关键字简析
2014-08-25 21:58 352在Java中,this通常指当前对象,su ... -
java编程之继承性
2014-08-25 21:57 559在现实生活 ... -
java编程的封装性之类对象2
2014-08-25 21:57 280这次直接开门见山吧,先看一下抽象类的定义 ... -
java编程的封装性之类对象1
2014-08-25 21:57 363[i][/i][color=yellow][/color] ...
相关推荐
初识Java_课后补充作业,能让JAVA初学者得到便利,以更好的效率学习JAVA。
第01讲 初识Java.ppt
《初识Java微信公众号开发》 http://www.imooc.com/learn/368 附件是整理的源码编译没有错误。 环境说明:tomcat8.5、jdk1.8、dom4j-1.6.1、XStream-1.4.9 程序总是报错“org.xmlpull.v1.XmlPullParserException”,...
不同平台的虚拟机是不同的,但它们都提供了相同的接口D.Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行2.以下选项中是对一个Java源文件进行正
JAVA基础-初识JAVA,java基础,小白快速入门干货!
初识java,用springBoot学习java
初识JAVA的知识
初识java,用springBoot学习java.zip
S1课程使用Java理解程序逻辑 第一章初识java教学演示案例/上机练习参考答案/课后作业参考答案 相关示例提供
初识Java的内容包括:什么是Java、Java的平台版本、Java的构成(JavaSE、JavaEE、JavaME)、Java语言的特性、Java的编译和运行命令、JDK的安装等...
Java基础精品课01-初识java.zip
课堂笔记,第一次学习java的课堂笔记,第一次学习java的课堂笔记
Java程序设计--初识java 28.pdf
Java基础精品课01-初识java录屏1.java概念简介.mp4
1.初识Java.zip
java2 实用教程(第三版) 实验指导 上机实验1 初识java 一个简单的应用程序 一个简单的java applet程序 联合编译
Java基础精品课01-初识java录屏2.java的编译和运行.mp4
Java基础精品课01-初识java录屏6.标识符.mp4