精华内容
下载资源
问答
  • Java对象的持久化概念

    千次阅读 2017-06-03 19:43:07
    转载只是给自己留一个笔记,没有... Java对象的持久化概念 花果山猴子们信息作为特定应用领域里业务数据,有两种表现形式: 在内存中表现为 Monkey对象。 在关系数据库中表现为 MONKEYS表中记录。



    转载:http://book.51cto.com/art/201009/227402.htm


    转载只是给自己留一个笔记,没有什么别的用途,如果有冒犯可联系本人删除即可.


     Java对象的持久化概念

    花果山猴子们的信息作为特定应用领域里的业务数据,有两种表现形式:

    在内存中表现为 Monkey对象。

    在关系数据库中表现为 MONKEYS表中的记录。

    当 Java程序在内存中创建了一个 Monkey对象后,它不可能永远存在。最后,它要么从内存中清除,要么被持久化到数据库中。内存无法永久地保存数据,因此必须对 Monkey 对象进行持久化。否则,如果 Monkey 对象没有被持久化,那么用户在应用程序运行时创建的猴子信息将在应用程序结束运行后随之消失。而一旦Monkey 对象被持久化,它就可以在应用程序再次运行时被重新加载到内存,并重新构造出 Monkey对象。图 1-11显示了 Monkey对象的持久化过程。

     

    Hibernate的英文原意是冬眠,冬眠与持久化之间有什么关系呢?Java对象存在于内存中,Hibernate 能够把 Java 对象永久保存到关系数据库中。形象地理解,可以说Hibernate能够让内存中的Java对象在关系数据库中“冬眠”。

    狭义的理解,“持久化”仅仅指把对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作:

    保存:把对象永久保存到数据库中。

    更新:更新数据库中对象的状态。

    删除:从数据库中删除一个对象。

    加载:根据特定的 OID(Object  Identifier,对象标识符),把一个对象从数据库加载到内存中。

    查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中。

    确切地说,数据库中存放的是关系数据,而不是对象。但本书常常出现“从数据库中加载对象”、“删除数据库中的对象”,以及“更新数据库中的对象”等说法。这主要是站在 Hibernate 的客户程序端的角度来看待数据库访问操作的。Hibernate封装了数据库访问细节,为客户程序提供了面向对象的持久化语义。客户程序可以假想数据库中存放的就是对象,只需委托 Hibernate 从数据库中加载对象、删除对象,以及更新对象就行了,至于 Hibernate 如何把这些对象映射为数据库中的相应关系数据,这就属于 Hibernate的分内之事了。  


    展开全文
  • 在程序设计早期,程序采用流程图和自上而下方式进行设计。这种设计方法主要思路是将一个大...结构编程乍一看是面向最终结果,实际上是完全针对运行过程进行编程,要求程序员具有清晰,环环相扣逻辑。 ...

            在程序设计的早期,程序采用流程图和自上而下的方式进行设计。这种设计方法的主要思路是将一个大问题分解为多个小问题进行解决,再针对每个小问题编写方法。总体上来说,是先构建一个主过程来启动程序流程,随后根据程序走向来调用相关的其他过程,这种程序设计思想被称为结构化编程。结构化编程乍一看是面向最终结果,实际上是完全针对运行过程进行编程,要求程序员具有清晰的,环环相扣的逻辑。

            为了让编程能够变得简单易上手,20世纪70年代后,面向对象编程(Object Oriented Programming,简称OO)思想开始流行!

            面向对象编程采用了一种完全不同的方法来开发计算机应用程序,在这种方法中,程序不是围绕着要解决的任务来设计,而是围绕着要解决的问题中的对象来设计。对于每个对象,程序员可以建立一个类来描述对象的特有的属性和行为。类是对象的一种抽象,而对象是类的一个实例。因此,属性是对象所具有的特征,而行为是对象可以做的工作。对象的每个属性表示为类中的一个成员变量,而对象的每个行为表示为类中的一个方法。

           假设编写一个给员工发工资的程序,但是员工的薪酬计算方式有所不同,一部分员工为月薪,一部分员工为年薪,此外,还要计算扣除的社保和个人所得税等。

            如采用结构化编程,那么需要编写不同的工资计算方法,社保计算方法以及个人所得税计算方法。而如果从另一个角度看这个程序,则可以从判断判断该程序中的对象入手。该程序中的对象,最明显的就是“员工”!

            因此,可以建立一个“员工类”来描述“员工”这个类型的特点,例如姓名,银行卡号,社保卡号,工作时间等。这些都是可以达成我们计算目标所需要的“数据”。之后,我们可以在“员工类”中建立这些变量,这些变量即是成员变量,是每个“员工”对象所具有的属性,通过这些属性,我们就可以计算不同的员工对象的工资,社保和个人所得税。 同样的,在这个“员工类”中可以编写各个计算方法。之后在运行类中,再通过新建不同的“员工”对象,来各自调用成员变量写入数据,再通过对象来调用不同的方法进行计算,从而得出结果。

            Java OO思想是Java的核心理念,避免了极度复杂的逻辑,减少了全局变量的运用,使程序运行简化,高效!

           



    展开全文
  • 对象就是个具体有意义东西,例如一个人,一份工作,一棵树。 类呢,就是有相同属性的对象,比如人都有年龄,性别,姓名等...归在一起就是人这个类。 属性就是这里年龄,性别,姓名。 类成员包括字段...

    对象就是个具体的有意义的东西,例如一个人,一份工作,一棵树。

    类呢,就是有相同属性的对象,比如人都有年龄,性别,姓名等...归在一起就是人这个类。

    属性就是这里的年龄,性别,姓名。


    类的成员包括字段,属性,方法:

    类名:class +类名

    字段、属性用来描述类的静态特征,比如姓名,性别什么的;public+数据类型+属性名(这里加public是为了能够让程序能够访问,否者会提示属性受到保护,无法写入数值)

    方法用来描述类的动态特征,比例喜欢踢球,下棋等;方法就是有特定功能的代码块。public void+方法名(){ }



    对象实例化

    格式:方法名  对象名=new 方法名();

    输入属性格式:对象名.属性=......;

    调用方法:对象名.方法名();


    public 和 private 访问修饰符

    public 指的是公共的,表明这个属性或方法能被所有类访问

    private 指的是私有的,表明这个属性或方法不能在其他类中被访问(不写访问修饰符默认的就是private)



    展开全文
  • 面向对象的基本概念

    2012-09-15 21:47:51
    面试例题1:对象与实例有什么区别? 解析:在Java内存分配中...答案:对象和实例从宏观角度看,区别是:对象是同类事物一种抽象表现形式,而实例是对象的具体,一个对象可以实例很多实例,对象就是一个模

    面试例题1:对象与实例有什么区别?


    解析:在Java的内存分配中,对象和实例是不同的,前者分配在内存堆里,后者分配在堆栈里,至于为什么要这样分,参考一下其他的资料。对象是不变的东西,它是对客观事物的抽象,实例是对操作对象的引用,你不能直接操作对象。


    答案:对象和实例从宏观的角度看,区别是:对象是同类事物的一种抽象表现形式,而实例是对象的具体化,一个对象可以实例化很多实例,对象就是一个模型,实例是照着这个模型生产的最终产品。实际上就是这样,一个对象可以实例化N个实例。就像根据一个模型可以制造多个实际的产品一样。


    从内存分配的角度来看,对象是保存在堆中的,而实例是存储在栈中的,实例其实只是对象的一个引用,也就是指向对象的指针。


    面试例题2:Java中所有的类都继承了java.lang.Object类,而在C++中没有像java.lang.Object这样的类,这是为什么呢?都是面向对象,Java这样做有什么好处呢?


    解析:Java采用的是单根结构,所有的类都继承了java.lang.Object类。对于Java这种纯面向对象的语言来说,这种设计具有很好的灵活性,比如对垃圾收集来说很有利,所有的类都具有java.lang.Object类具有的方法等。C++没有更多这样的方法,大概是为了向后兼容。向C兼容,满足它设计上最大的灵活性。


    答案:C++的特点是指针,一个指针可以指向任何的对象、结构、基本类型、函数。


    Java没有指针类型,所以Java用Object基础类的共同特征来实现所有对象类型之间的转换。


    面试例题3:声明与定义之间的区别是什么?在Java里声明和定义能否分开?


    解析:


    声明:一种把一个名称引入或者重新引入到某个作用域的构造。


    定义:它也是一种声明,但该声明必须给出被声明实体的细节。


    对于变量而言,这里的细节是指:为被声明实体保留存储空间。


    对于class类型和函数定义而言,指的是包含有一对花括号内容的声明。


    对于外部变量而言,指的是前面没有关键字extern或者在声明时就进行初始化。


    变量的声明有以下两种情况。


    一种是需要建立存储空间的。例如,int a 在声明的时候就已经建立了存储空间。


    另一种是不需要建立存储空间的,例如,extern int a。其中,变量a是在别的文件中定义的。前者是“定义性声明(defining declaration)”,或者称为“定义(definition)”,而后者是“引用性声明(referencing declaration)”。从广义的角度来讲,声明中包含着定义,但是并非所有的声明都是定义,例如int a,它既是声明,同时又是定义。然而对于 extern a来讲,它只是声明不是定义。在一般的情况下我们常常这样叙述,把建立空间的声明称为“定义”,而把不需要建立存储空间的声明称为“声明”。很明显在这里指的声明的范围是比较窄的,也就是说非定义性质的声明。


    答案:


    变量的定义和声明的区别在于是否分配内存,如果分配内存就是定义,否则就是声明。


    类中的变量只是声明而不是定义,因为它只是类声明的一部分。不同于变量的定义,类的定义是一种新的类型的定义,只有实例化后才会分配内存。所以类成员变量只是声明而不是定义。


    在Java中,利用Interface,也可以将声明和实现分开。如下所示。


      //MyInterface.java  


      public   interface   MyInterface 


     {  


            void   method();  


      }  


       


      //MyImpl.java  


      public   class   implements   MyInterface 


     {  


            public   void   method()


            {  


                  //……


            }  


      }  


    面试例题4:Which is incorrect about the class?(关于类的描述下面哪个是错误的?)[金山公司2005年面试题]


    A.A class is a blueprint to objects.


    B.We use the keyword class to create a class construct.


    C.Once a class is declared, the class name becomes a type name and
    can be used to declare variables.


    D.The class is same as the struct, and there are no different between
    class and struct.


    解析:这道题的考点是类的概念。


    答案:D


    面试例题5:Which is incorrect about the OOP?(下面关于面向对象技术的叙述哪个是错误的?)[金山公司2005年面试题]


    A.The central idea of OOP is to build programs using software objects.


    B.The OOP focuses mainly on the step-by-step procedure as procedure-
    oriented programing.


    C.The OOP offers many advantages: simplicity,modularity,modifiability,
    extensibility, and so on.


    D.The key concept of object orientation is the attachment of procedure
    to data.


    解析:OOP的概念面试例题。面向对象和面向过程不能混为一谈。


    答案:B,D

    展开全文
  • 类和对象的相关概念

    2016-03-06 22:14:40
    程序中的对象是类的一个实例,是一个软件单元,由一组结构化的数据和在其上的一组操作构成。 构成对象的两个最重要的因素就是特征(属性)和行为(方法) (1)、类的属性 对象或者实体的特征在类中表示
  • C++程序设计【二】之面向对象的基本概念

    千次阅读 多人点赞 2020-12-26 14:28:04
    文章目录第二章:面向对象的基本概念一、结构程序设计二、面向对象程序设计的概念和特点1.面向对象思想的提出2.面向对象程序设计的特点三、类的初步知识1.类的定义2.类的定义示例四、类的示例程序剖析1.程序结构2....
  • 结构程序设计基本思想是采用自顶向下、逐步细化设计方法和单入单出控制结构。其理念是将大型程序分解成小型、便于管理任务。如果其中一项任务仍然过大,则将它分解为更小任务。这一过程将一直持续下去...
  • 类和对象的基本概念

    2018-05-20 21:14:55
    结构程序数据结构 + 算法不足之处:1. 结构程序设计中,函数和其所操作数据结构没有直观联系...面向对象的程序设计类 + 类 +类面向对象的程序设计方法:1.将某类客观事物共同特点(属性)归纳出来,形成一个...
  • “类”指的是一类事物,是一个抽象的概念对象”指的是属于某个类的一个实体,是一个具体存在的事物   Tip:   类是一种“模板”,可以通过这种模板创建出不同的对象“实例” 对象“实例”是类“模板”的一个...
  • 面向对象编程(OOP)的概念

    万次阅读 2019-07-27 23:56:24
    定义对象的特征,定义对象的模子,JS没有类的概念 Object: 实体 Property: 属性,对象的特征(静态) Method: 方法,对象的特征(动作行为) Constructor: 构造,对象初始化的瞬间, 被调用的方法 面向对象三大...
  •   反射是Java中至关重要一个概念,我们必须要对它进行掌握。 1. 反射概念   反射指是对对象的反向处理... 我们想要创建Date类的对象实例,首先要引入定义Data类包 import java.util.Date; public...
  • 面向对象的三大特性:封装、继承、多态 面向对象封装、实例 面向对象最常用构造方法和析构方法使用
  • 领域模型和领域对象的概念

    万次阅读 2016-08-18 13:52:30
    领域模型是对领域内的概念类或现实世界中对象的可视表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。    面向领域对象设计...
  • java中构造方法是一个重要的概念,初学时有人会对此构造方法的使用特别是其作用不清楚,下面我就来谈谈我对java中构造方法的理解,有不对或不清楚的地方希望各位看官提出意见,谢谢! 一.构造方法的定义声明 构造...
  • 面向对象编程 1.(了解) 面向对象 vs 面向... 而具体一辆一辆车,是根据图纸制造,实际上就是类实例 3.完成一个项目(或功能)思路 1)所要完成功能对应的对象是否存在。 2)若存在,则通过对...
  • 一、序列化和反序列化的概念  把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上,...
  • 数据持久化的方法: 1:NSKeyedArchiver-对象归档 2:NSUserDefaults 3:属性列表化(NSArray,NSDictonary保存文件) 4:SQlite数据库,CoreData数据库 归档的形式 1:对Foundation库中对象进行归档
  • 面向对象基本概念

    2021-04-01 14:55:50
    OOP:面向对象编程:是将一些相关属性和方法归为一个类,将类实例看成是对象,在对对象进行编程称之为面向对象的编程,是一种编程思想 一、基本概念: 1、面向过程和面向对象 ​ 面向过程:以“过程”为...
  • 动态初始:数据类型[][] 变量名 = new 数据类型[m][n] 静态初始:数据类型[][] 变量名 = {{},{},{}...} m表示是有多少个二维数组,n表示是每个一维数组有多少个元素 注意:以下格式也是可以定义二维...
  • 实例化的概念

    2013-11-11 21:51:54
    在面向对象的编程中,通常把用类创建对象的过程称为实例
  • 具有相同或相似性质一组对象的抽象就是类,类是对一类事物描述,是抽象概念意义; 对象是实际存在该类事物每个个体,因此也称为实例; 对象的抽象是类,类具体就是对象,也可以说类...
  • 一、序列化和反序列化的概念  把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上...
  • 可以被视作一种在程序中包含各种独立而又互相调用单位和对象的思想,传统程序设计主张将程序看做一系列函数结合或者就是一系列对电脑下达指令,面向对象程序设计了程序灵活性和可维护性     面向...
  • 两个基本的概念对象对象是人们要研究的任何事物,从最简单的整数到复杂的飞机均可看做对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件。对象具有状态和行为,一个对象用具体数据值来描述它的状态...
  • 面向对象编程基本概念

    千次阅读 2018-04-18 15:41:53
    引言 在软件工程的早期,史诗...今天大多数项目都使用面向对象的概念。由于C ++引入了OOP,因此用户体验已经产生了关于如何最好地利用OOP的更多知识。有很多关于面向对象的协议和更多的争论。应该鼓励哪些功能? C ...
  • 持久化的概念

    千次阅读 2013-08-22 11:13:51
    持久化是将程序数据在持久状态和瞬时状态间转换的机制。 目录 ...持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储
  • # 对象的概念: 类的具体的实例 # object python中的顶级父类 class ADC(object): # pass 为保证语法的完整性 # pass # __init__(self)初始函数 ,当创建对象时自动执行该函数 def __init
  • iOS OOP 面向对象编程基本概念

    千次阅读 2016-07-03 14:27:41
    1. 面向对象的基本概念 面向对象编程 (OOP, Object Oriented Programming) 面向对象分析 (OOA) 面向对象设计 (OOD) 1. 对象(实例)和抽象(类)对象到类为抽象类到对象为实例2. 对比Simula 67 学派 (C++)...
  • 将内存中的一个抽象的概念,逻辑概念(对象)转换成字节或者字符数据的过程,就叫做对象序列化 序列化的模块和一些常用的方法 导入的模块是pickle 常用的方法是: dump#将对象序列化为字节数据,并且保存到file中 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,860
精华内容 10,344
关键字:

对象化的概念