- 浏览: 95518 次
- 性别:
文章分类
- 全部博客 (151)
- Spring-MVC学习 (5)
- 偶然间发现 (2)
- easyUi学习 (7)
- web项目相关技术 (4)
- java学习 (26)
- webService (4)
- 一些工具的安装使用 (7)
- js学习 (20)
- Sping学习 (7)
- mybatis学习 (5)
- 定时器 (4)
- oracle (2)
- JSP学习 (6)
- HTML一些标签 (1)
- web服务 (2)
- 偶尔得到的地址 (2)
- 常用的代码记录 (2)
- 设计模式 (1)
- java常使用的开源API (1)
- maven (1)
- Socket (1)
- nginx (2)
- jquery (3)
- poi (2)
- 写过的工具类 (19)
- 微信开发 (2)
- mysql (1)
- freemarker (2)
- ftp (1)
- 用过的软件 (1)
- jconsole (1)
- log4j (1)
- redis的简单入门使用 java调用redis (0)
- redis的使用 (2)
- 生活相关的 (1)
最新评论
-
chokee:
...
easyUi学习之开启行编辑模式增删改操作 -
lijie_insist:
就是有的界面需要显示天气啊!所以你要调用天气的接口啊 因为很多 ...
免费的天气接口的一个demo -
zhglance:
请问这是干什么用的呢?
免费的天气接口的一个demo
今天看到一篇文章对面向对象的特征解释的好清晰,在此做下记录!
计算机软件系统是现实生活中的业务在计算机中的映射.而现实生活中的业务其实就是一个个对象协作的过程.面向对象编程就是按照现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机能够识别和理解用对象方式组织和编写的代码,这样就可以把现实生活中的业务对象映射到计算机中
面向对象的特征主要有4个:封装,继承,抽象,多态
封装:
封装是保证软件部件具有模块性的基础,封装的目的就是要实现软件部件的'高内聚 低耦合'防止程序相互依赖而带来的变动影响!在面向对象的编程中,对象是封装的基本单位!面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个'模块'中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一对象中的属性!通常情况下,只要记得让变量和访问这个变量的方法放一起,将一个类中的成员变量全部定义为私有的,只有这个类自己的方法才能访问到这些成员变量,这就基本上实现了对象的封装,就很容易找出要分配到这个类上的方法了,就基本上会面向对象编程了!把握一个原则:把对同一件事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一类中!
例如,人要在黑板上画圆,这一共涉及三个对象:人、黑板、圆,画圆的方法要分配给哪个对象呢?由于画圆需要使用到圆心和半径,圆心和半径显然是圆的属性,如果将它们在类中定义成了私有的成员变量,那么,画圆的方法必须分配给圆,它才能访问到圆心和半径这两个属性,人以后只是调用圆的画圆方法、表示给圆发给消息而已,画圆这个方法不应该分配在人这个对象上,这就是面向对象的封装性,即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变
抽象:
抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一类,这个类只考虑事物的相似和共性之处,并且会忽略与当前主题和目标无关的方面,将注意力集中在与当前目标有关的方面!
例如看到一只蚂蚁和大象,你能想象出他们的相同之处就是抽象,包括行为抽象和状态抽象2个方面.例如定义一个person类如下:
class Person{
String name;
int age;
}
人本来是很复杂的事物,有很多方面,但因为当前系统只需要了解人的姓名和年龄,所以上面定义的类中只包含姓名和年龄这两个属性,这就是一种抽像,使用抽象可以避免考虑一些与目标无关的细节。我对抽象的理解就是不要用显微镜去看一个事物的所有方面,这样涉及的内容就太多了,而是要善于划分问题的边界,当前系统需要什么,就只考虑什么。
继承:
在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类定义的类容作为自己的内容,并加入若干新的内容,或修改原来的方法,使之更加适合特殊需求,这就是继承.继承是指子类自动共享父类可共享的数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性
多态:(方法取决于对象,属性取决于引用变量的类型)
多态是指引用变量所指向的具体类型和通过改引用对象发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底是指向哪个类的实例对象,该引用变量到底是指向哪个类实现的方法,必须在程序运行期间才能决定.因为在程序运行时才能确定具体的类!这样不修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致引用调用的具体方法随之改变,即不修改代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多种运行状态,这就是多态.多态增强了软件的灵活性和扩展性.例如下面的代码中UserDao是一个接口,他定义的引用变量uerDao指向的实例对象由daofactory.getDao()在执行的时候返回,有时候指向的是UserJdbcDao这个实现,有时候指向的是UserHibernateDao这个实现,这样,不用修改源代码,就可以改变userDao指向的具体类实现,从而导致userDao.insert(user)方法调用的具体代码也随之改变即有时候调用的是UserJdbcDao的insertUser方法,有时候调用的是UserHibernateDao的insertUser
方法:
UserDao userDao = daofactory.getDao();
userDao.insertUser(user);
比喻:人吃饭,你看到的是左手,还是右手?
所以多态的机制是:靠的是父类或接口定义的引用变量可以指向子类和具体实现类的实例对象(父类引用指向子类对象),而程序调用的方法在运行期间动态绑定,就是引用变量指向的具体事例的实现方法,也就是内存正在运行的那个对象的方法,而不是引用变量的类型中定义的方法!所以归结于一句话(方法取决于对象 属性取决于引用变量的类型)
计算机软件系统是现实生活中的业务在计算机中的映射.而现实生活中的业务其实就是一个个对象协作的过程.面向对象编程就是按照现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机能够识别和理解用对象方式组织和编写的代码,这样就可以把现实生活中的业务对象映射到计算机中
面向对象的特征主要有4个:封装,继承,抽象,多态
封装:
封装是保证软件部件具有模块性的基础,封装的目的就是要实现软件部件的'高内聚 低耦合'防止程序相互依赖而带来的变动影响!在面向对象的编程中,对象是封装的基本单位!面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个'模块'中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一对象中的属性!通常情况下,只要记得让变量和访问这个变量的方法放一起,将一个类中的成员变量全部定义为私有的,只有这个类自己的方法才能访问到这些成员变量,这就基本上实现了对象的封装,就很容易找出要分配到这个类上的方法了,就基本上会面向对象编程了!把握一个原则:把对同一件事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一类中!
例如,人要在黑板上画圆,这一共涉及三个对象:人、黑板、圆,画圆的方法要分配给哪个对象呢?由于画圆需要使用到圆心和半径,圆心和半径显然是圆的属性,如果将它们在类中定义成了私有的成员变量,那么,画圆的方法必须分配给圆,它才能访问到圆心和半径这两个属性,人以后只是调用圆的画圆方法、表示给圆发给消息而已,画圆这个方法不应该分配在人这个对象上,这就是面向对象的封装性,即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变
抽象:
抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一类,这个类只考虑事物的相似和共性之处,并且会忽略与当前主题和目标无关的方面,将注意力集中在与当前目标有关的方面!
例如看到一只蚂蚁和大象,你能想象出他们的相同之处就是抽象,包括行为抽象和状态抽象2个方面.例如定义一个person类如下:
class Person{
String name;
int age;
}
人本来是很复杂的事物,有很多方面,但因为当前系统只需要了解人的姓名和年龄,所以上面定义的类中只包含姓名和年龄这两个属性,这就是一种抽像,使用抽象可以避免考虑一些与目标无关的细节。我对抽象的理解就是不要用显微镜去看一个事物的所有方面,这样涉及的内容就太多了,而是要善于划分问题的边界,当前系统需要什么,就只考虑什么。
继承:
在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类定义的类容作为自己的内容,并加入若干新的内容,或修改原来的方法,使之更加适合特殊需求,这就是继承.继承是指子类自动共享父类可共享的数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性
多态:(方法取决于对象,属性取决于引用变量的类型)
多态是指引用变量所指向的具体类型和通过改引用对象发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底是指向哪个类的实例对象,该引用变量到底是指向哪个类实现的方法,必须在程序运行期间才能决定.因为在程序运行时才能确定具体的类!这样不修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致引用调用的具体方法随之改变,即不修改代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多种运行状态,这就是多态.多态增强了软件的灵活性和扩展性.例如下面的代码中UserDao是一个接口,他定义的引用变量uerDao指向的实例对象由daofactory.getDao()在执行的时候返回,有时候指向的是UserJdbcDao这个实现,有时候指向的是UserHibernateDao这个实现,这样,不用修改源代码,就可以改变userDao指向的具体类实现,从而导致userDao.insert(user)方法调用的具体代码也随之改变即有时候调用的是UserJdbcDao的insertUser方法,有时候调用的是UserHibernateDao的insertUser
方法:
UserDao userDao = daofactory.getDao();
userDao.insertUser(user);
比喻:人吃饭,你看到的是左手,还是右手?
所以多态的机制是:靠的是父类或接口定义的引用变量可以指向子类和具体实现类的实例对象(父类引用指向子类对象),而程序调用的方法在运行期间动态绑定,就是引用变量指向的具体事例的实现方法,也就是内存正在运行的那个对象的方法,而不是引用变量的类型中定义的方法!所以归结于一句话(方法取决于对象 属性取决于引用变量的类型)
发表评论
-
ajax的分页分页请求,通过ajax来分页
2015-12-01 14:55 438这里面通过自定义标签实现的,因为项目没有采用jsp模板而是用的 ... -
java学习之JAXB解析xml
2015-08-17 09:07 899时间仓促,只记录代码 //实体类 package com.w ... -
生成验证码的方法
2015-07-17 08:43 2忘了在哪里参考过代码,后来自己参照了写了这一段code pac ... -
javax.mail邮件发送返回状态吗
2015-07-02 17:35 1565项目需要集成邮件发送,之前在.net下写过smtp的邮 ... -
javax.mail邮件发送
2015-06-30 12:50 0package com.demo.common; impor ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2015-06-04 11:31 424原地址:http://www.cnblogs. ... -
JDBC学习
2015-04-21 10:02 282原文来自:http://blog.csdn.net/fight ... -
j2ee web项目的基本结构
2015-03-20 14:50 519原地址:http://www.cnblogs.co ... -
HTTP 返回的状态码的含义
2015-03-20 14:38 427在网上看到的,总结的蛮 ... -
java学习之try catch finally中的return语句执行
2015-03-10 14:21 519http://blog.csdn.net/kavensu/ar ... -
java反射机制的学习
2015-03-06 13:39 338http://blog.csdn.net/zzjjiandan ... -
java学习之时间类的使用
2015-03-06 10:26 459有时候要对时间进行各方面的操作,这里就记录下最近使用到的对时间 ... -
为什么接口的属性用public static final修饰
2015-03-05 09:14 547每次只是看了看.好多都没去实践和去想! 自己写了个接口才会想到 ... -
正则表达式的学习
2015-03-04 11:10 337http://help.locoy.com/Document/ ... -
Class.forName("className"),class.getClass,class.class区别
2015-02-27 17:43 372今天看java.lang.reflect包中的信息时,想到了这 ... -
java调用webservice(asmx)的例子
2015-02-04 16:54 419转自:http://www.blogjava.net/jerr ... -
java学习之流的学习
2015-01-21 14:12 365因为经常用到流,并且发现java中的数据流的确很多种类,而自己 ... -
java学习之图片上传,下载显示demo
2015-01-19 10:43 2537每次都是用的框架来弄 ... -
java学习之String的一些处理函数
2014-12-12 17:17 549前两天开发一个关于解析数据的一个小功能,发现需要大肆的用到St ... -
java学习之super与this使用
2014-12-01 09:16 530this和super关键字可以用来覆盖的java语言的默认作用 ...
相关推荐
3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3....
"影像信息提取之面向对象特征提取流程" 面向对象特征提取技术是影像信息提取的核心技术之一,它可以从高分辨率的影像中提取出丰富的空间信息、纹理信息和光谱信息,以实现高精度的分类结果。该技术的特点是充分利用...
标题:Java 语言的面向对象特征 2 描述:不知道是不是真的,反正看过之后很容易及格 标签:Java 语言 面向对象特征 2 知识点 1:对象的定义 在 Java 语言中,对象的定义是通过使用关键字 `new` 和类名来创建的。...
面向对象编程(Object-Oriented Programming,OOP)是现代软件开发中的一种核心思想,它源自于面向对象的哲学理念,旨在模拟现实世界中的对象及其交互。Java 语言是完全支持面向对象特性的,它是第四代编程语言的...
Oracle数据库在面向对象特征方面的发展和进步显著,尤其是在Oracle 8i及后续版本中,它逐渐从一个纯粹的关系型数据库管理系统演变成一个支持面向对象特性的系统。面向对象数据库是数据库技术的重要发展方向,这体现...
Java语言的面向对象特征在第三章的讲解中,主要聚焦于接口和包的概念。接口在Java中扮演着至关重要的角色,它是一种规范或者说是合同,规定了类必须实现的特定方法,确保这些类遵循共同的行为标准。 接口是抽象方法...
【遥感专题讲座——面向对象特征提取】 遥感领域的影像信息提取是一个复杂的过程,尤其在高分辨率影像中,由于“同物异谱,同谱异物”的现象,使得基于像素的传统分类方法面临挑战。面向对象的影像分类技术应运而生...
【基于面向对象特征提取的BP神经网络分类】 在遥感影像分析领域,传统的基于像元的分类方法已无法满足高分辨率影像的复杂信息处理需求。本文以“基于面向对象特征提取的BP神经网络分类——以武陵源地区为例”为主题...
java语言越来越成为计算机语言的主流,在java中面向对象的特征
遥感专题讲座——影像信息提取四、面向对象特征提取 面向对象的影像分类技术是一种高级的影像分类方法,它可以一定程度减少同物异谱、同谱异物的影响,并充分利用高分辨率影像的空间、纹理和光谱信息来分割和分类...
java面向对象实验四类和对象编程(面向对象特征)[归纳].pdf
在Java中,面向对象的特征主要包括封装、继承和多态。 封装是面向对象编程的基础,它指的是将数据(状态)和操作数据的方法(行为)捆绑在一起,形成一个独立的单元——对象。这样可以隐藏对象的内部细节,只对外...
Java面向对象特性是Java语言的核心特性,它包括对象与类、封装性、继承性和多态性四个主要方面。 1. 对象与类: - 对象是程序中的基本单位,代表现实世界中的实体,拥有状态(变量)、行为(方法)和标识(对象名...
面向对象编程是Java的核心特性,本章主要讲解了其中的关键元素——`static`关键字的使用。`static`关键字在Java中扮演着多种角色,可以用来修饰成员变量、成员方法以及代码块,使得它们具备静态特性。 1. **静态...
《面向对象程序设计》是计算机科学与技术专业的一门必修基础课程,旨在使学生掌握面向对象程序设计的基本思想、基本概念、基本原理和机制,并逐步掌握C++语言的面向对象特征和功能。本课程实习的目的是让学生能够...
针对高分辨率遥感图像变化检测的难点和传统像元级变化检测方法的局限性,提出了基于面向对象的思想,利用分割后图像对象的光谱特征、纹理特征、形状特征分别进行变化检测,然后将不同对象特征检测结果进行融合得到...
面向对象编程(Object Oriented Programming, OOP)是一种软件开发方法,它以对象为核心,将现实世界中的事物作为程序中的对象来描述。OOP的主要特点是:对象、类、封装、继承和多态。 1. **对象**:在编程中,对象...