文档库 最新最全的文档下载
当前位置:文档库 › 四、CXF WebService中传递复杂类型对象

四、CXF WebService中传递复杂类型对象

四、CXF WebService中传递复杂类型对象
四、CXF WebService中传递复杂类型对象

四、CXF WebService中传递复杂类型对象

前面介绍的都是传递简单的字符串,现在开始介绍传递复杂类型的对象。如JavaBean、Array、List、Map等。

1、首先看看服务器端的代码所需要的JavaBean对象

package com.hoo.entity;

import java.io.Serializable;

/**

* function:User Entity

* @author hoojo

* @createDate Dec 16, 2010 10:20:02 PM

* @file User.java

* @package com.hoo.entity

* @project AxisWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

public class User implements Serializable {

private static final long serialVersionUID = 677484458789332877L;

private int id;

private String name;

private String email;

private String address;

//getter、setter

@Override

public String toString() {

return this.id + "#" + https://www.wendangku.net/doc/7c5130586.html, + "#" + this.email + "#" + this.address;

}

}

下面的是集合传递Users,CXF直接传递集合对象会出现异常,用一个对象包装下就Ok了,不知道是什么原因。异常信息如下:

DefaultValidationEventHandler: [ERROR]: unexpected element(uri:"", local:"item")

org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"", local:"item")

package com.hoo.entity;

import java.util.HashMap;

import java.util.List;

/**

* function: Users Entity

* @author hoojo

* @createDate 2011-3-18 上午09:27:31

* @file Users.java

* @package com.hoo.entity

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

public class Users {

private List users;

private User[] userArr;

private HashMap maps;

//getter、setter方法

}

2、下面看看复杂对象传递的服务器端代码

package com.hoo.service;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import javax.jws.WebParam;

import javax.jws.WebService;

import javax.jws.soap.SOAPBinding;

import javax.jws.soap.SOAPBinding.Style;

import https://www.wendangku.net/doc/7c5130586.html,er;

import https://www.wendangku.net/doc/7c5130586.html,ers;

/**

* function: WebService传递复杂对象,如JavaBean、Array、List、Map等

* @author hoojo

* @createDate 2011-3-18 上午08:22:55

* @file ComplexUserService.java

* @package com.hoo.service

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

@WebService

@SOAPBinding(style = Style.RPC)

@SuppressWarnings("deprecation")

public class ComplexUserService {

public User getUserByName(@WebParam(name = "name") String name) { User user = new User();

user.setId(new Date().getSeconds());

user.setName(name);

user.setAddress("china");

user.setEmail(name + "@https://www.wendangku.net/doc/7c5130586.html,");

return user;

}

public void setUser(User user) {

System.out.println("############Server setUser###########"); System.out.println("setUser:" + user);

}

public Users getUsers(int i) {

List users = new ArrayList();

for (int j = 0; j <= i; j++) {

User user = new User();

user.setId(new Date().getSeconds());

user.setName("jack#" + j);

user.setAddress("china");

user.setEmail("jack" + j + "@https://www.wendangku.net/doc/7c5130586.html,");

users.add(user);

}

Users u = new Users();

u.setUsers(users);

return u;

}

public void setUsers(Users users) {

System.out.println("############Server setUsers###########");

for (User u : users.getUsers()) {

System.out.println("setUsers:" + u);

}

}

public Users getUserArray(int i) {

User[] users = new User[i];

for (int j = 0; j < i; j++) {

User user = new User();

user.setId(new Date().getSeconds());

user.setName("jack#" + j);

user.setAddress("china");

user.setEmail("jack" + j + "@https://www.wendangku.net/doc/7c5130586.html,");

users[j] = user;

}

Users u = new Users();

u.setUserArr(users);

return u;

}

public void setUserArray(Users users) {

System.out.println("############Server

setUserArray###########");

for (User u : users.getUserArr()) {

System.out.println("setUserArray:" + u);

}

}

public void setUserMap(Users maps) {

System.out.println("############Server

setUserMap###########");

System.out.println("setUserMap:" + maps.getMaps());

}

public Users getUserMap() {

HashMap users = new HashMap(); User user = new User();

user.setId(new Date().getSeconds());

user.setName("jack#");

user.setAddress("china#");

user.setEmail("jack@https://www.wendangku.net/doc/7c5130586.html,");

users.put("A", user);

user = new User();

user.setId(new Date().getSeconds());

user.setName("tom");

user.setAddress("china$$");

user.setEmail("tom@https://www.wendangku.net/doc/7c5130586.html,");

users.put("B", user);

Users u = new Users();

u.setMaps(users);

return u;

}

}

3、发布WebService的代码

package com.hoo.service.deploy;

import https://www.wendangku.net/doc/7c5130586.html,plexUserService;

/**

* function: 发布ComplexUserService服务

* @author hoojo

* @createDate 2011-3-18 上午08:28:57

* @file DeployComplexUserService.java

* @package com.hoo.service.deploy

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

public class DeployComplexUserService {

public static void main(String[] args) throws InterruptedException {

String address = "http://localhost:9000/complexUser";

DeployUtils.deployService(address, new ComplexUserService()); Thread.sleep(1000 * 60 * 20);

System.exit(0);

System.out.println("Server exit ");

}

}

DeployUtils.java

package com.hoo.service.deploy;

import javax.xml.ws.Endpoint;

/**

* function: 发布WebService工具类

* @author hoojo

* @createDate Mar 17, 2011 8:14:05 PM

* @file DeployUtils.java

* @package com.hoo.service.deploy

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

public final class DeployUtils {

/**

* function:发布WebService

* @author hoojo

*/

public static void deployService(String address, Object service) { System.out.println("Server start ……");

Endpoint.publish(address, service);

}

}

4、通过发布后的地址的http://localhost:9000/complexUser?wsdl; wsdl中的内容定制你的客户端调用WebService的接口,当然你也可以让服务器端实现一个接口。

package com.hoo.service;

import javax.jws.WebParam;

import javax.jws.WebService;

import https://www.wendangku.net/doc/7c5130586.html,er;

import https://www.wendangku.net/doc/7c5130586.html,ers;

/**

* function:定制客户端请求WebService所需要的接口

* @author hoojo

* @createDate 2011-3-18 上午08:22:55

* @file ComplexUserService.java

* @package com.hoo.service

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

@WebService

public interface IComplexUserService {

public User getUserByName(@WebParam(name = "name") String name);

public void setUser(User user);

public Users getUsers(int i);

public void setUsers(Users users);

public Users getUserArray(int i);

public void setUserArray(Users users);

public void setUserMap(Users maps);

public Users getUserMap();

}

5、客户端调用代码

package com.hoo.client;

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import https://www.wendangku.net/doc/7c5130586.html,er;

import https://www.wendangku.net/doc/7c5130586.html,ers;

import com.hoo.service.IComplexUserService;

/**

* function:调用ComplexUserService客户端

* @author hoojo

* @createDate 2011-3-18 上午08:37:11

* @file ComplexUserServiceClient.java

* @package com.hoo.client

* @project CXFWebService

* @blog https://www.wendangku.net/doc/7c5130586.html,/IBM_hoojo

* @email hoojo_@https://www.wendangku.net/doc/7c5130586.html,

* @version 1.0

*/

public class ComplexUserServiceClient {

public static void main(String[] args) {

//调用WebService

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.setServiceClass(IComplexUserService.class);

factory.setAddress("http://localhost:9000/complexUser");

IComplexUserService service = (IComplexUserService) factory.create();

System.out.println("#############Client

getUserByName##############");

User user = service.getUserByName("hoojo");

System.out.println(user);

user.setAddress("China-Guangzhou");

service.setUser(user);

System.out.println("#############Client

getUsers##############");

Users users = service.getUsers(4);

System.out.println(users);

List tempUsers = new ArrayList();

for (User u : users.getUsers()) {

System.out.println(u);

u.setName("hoojo" + new Random().nextInt(100));

u.setAddress("Chian-GuangZhou#" + new

Random().nextInt(100));

tempUsers.add(u);

}

users.getUsers().clear();

users.getUsers().addAll(tempUsers);

service.setUsers(users);

System.out.println("#############Client

getUserArray##############");

users = service.getUserArray(4);

User[] userArr = new User[4];

int i = 0;

for (User u : users.getUserArr()) {

System.out.println(u);

u.setName("hoojo" + new Random().nextInt(100));

u.setAddress("Chian-ShenZhen#" + new

Random().nextInt(100));

userArr[i] = u;

i ++;

}

users.setUserArr(userArr);

service.setUserArray(users);

System.out.println("##################Client getUserMap###############");

users = service.getUserMap();

System.out.println(users.getMaps());

users.getMaps().put("ABA", userArr[0]);

service.setUserMap(users);

}

}

6、运行后结果如下

控制台客户端结果:

2011-3-18 10:31:11

org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass

信息: Creating Service

{https://www.wendangku.net/doc/7c5130586.html,/}IComplexUserServiceService from class com.hoo.service.IComplexUserService

#############Client getUserByName##############

12#hoojo#hoojo@https://www.wendangku.net/doc/7c5130586.html,#china

#############Client getUsers##############

https://www.wendangku.net/doc/7c5130586.html,ers@1148603

12#jack#0#jack0@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#1#jack1@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#2#jack2@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#3#jack3@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#4#jack4@https://www.wendangku.net/doc/7c5130586.html,#china

#############Client getUserArray##############

12#jack#0#jack0@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#1#jack1@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#2#jack2@https://www.wendangku.net/doc/7c5130586.html,#china

12#jack#3#jack3@https://www.wendangku.net/doc/7c5130586.html,#china

##################Client getUserMap###############

{A=12#jack##jack@https://www.wendangku.net/doc/7c5130586.html,#china#, B=12#tom#tom@https://www.wendangku.net/doc/7c5130586.html,#china$$} 服务器端结果:

Server start ……

2011-3-18 10:31:03

org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass

信息: Creating Service

{https://www.wendangku.net/doc/7c5130586.html,/}ComplexUserServiceService from class

https://www.wendangku.net/doc/7c5130586.html,plexUserService

2011-3-18 10:31:03 org.apache.cxf.endpoint.ServerImpl initDestination 信息: Setting the server's publish address to be

http://localhost:9000/complexUser

2011-03-18 10:31:03.906:INFO::jetty-7.2.2.v20101205

2011-03-18 10:31:04.046:INFO::Started

SelectChannelConnector@localhost:9000

############Server setUser###########

setUser:12#hoojo#hoojo@https://www.wendangku.net/doc/7c5130586.html,#China-Guangzhou

############Server setUsers###########

setUsers:12#hoojo67#jack0@https://www.wendangku.net/doc/7c5130586.html,#Chian-GuangZhou#94

setUsers:12#hoojo95#jack1@https://www.wendangku.net/doc/7c5130586.html,#Chian-GuangZhou#27

setUsers:12#hoojo29#jack2@https://www.wendangku.net/doc/7c5130586.html,#Chian-GuangZhou#0

setUsers:12#hoojo94#jack3@https://www.wendangku.net/doc/7c5130586.html,#Chian-GuangZhou#70

setUsers:12#hoojo49#jack4@https://www.wendangku.net/doc/7c5130586.html,#Chian-GuangZhou#92

############Server setUserArray###########

setUserArray:12#hoojo24#jack0@https://www.wendangku.net/doc/7c5130586.html,#Chian-ShenZhen#30 setUserArray:12#hoojo57#jack1@https://www.wendangku.net/doc/7c5130586.html,#Chian-ShenZhen#81 setUserArray:12#hoojo84#jack2@https://www.wendangku.net/doc/7c5130586.html,#Chian-ShenZhen#41 setUserArray:12#hoojo88#jack3@https://www.wendangku.net/doc/7c5130586.html,#Chian-ShenZhen#79

############Server setUserMap###########

setUserMap:{ABA=12#hoojo24#jack0@https://www.wendangku.net/doc/7c5130586.html,#Chian-ShenZhen#30,

A=12#jack##jack@https://www.wendangku.net/doc/7c5130586.html,#china#, B=12#tom#tom@https://www.wendangku.net/doc/7c5130586.html,#china$$}

Linux系统(X64)安装Oracle11g完整安装教程

Linux系统(X64)安装Oracle11g完整安装图文教程1修改操作系统核心参数(Root用户) 1)修改用户的SHELL的限制,修改 /etc/security/ 文件 输入命令:vi /etc/security/,按i键进入编辑模式,将下列内容加入该文件。 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 编辑完成后按Esc键,输入“:wq”存盘退出 2)修改/etc/login 文件,输入命令:vi /etc/login,按i键进入编辑模式,将下列内容加入该文件。 session required /lib/security/ session required 编辑完成后按Esc键,输入“:wq”存盘退出 3)修改linux内核,修改/etc/文件,输入命令: vi /etc/ ,按i键进入编辑模式,将下列内容加入该文件 = 6815744 = 1048576 = 2097152 = 48 = 4096 = 250 32000 100 128 = 1024 65500 = 4194304 = 4194304 = 262144 = 1048576 编辑完成后按Esc键,输入“:wq”存盘退出。 注意: = 9000 65500 网络默认9000 65500 4)要使 /etc/ 更改立即生效,执行以下命令。输入:sysctl -p显示如下: linux:~ # sysctl -p = 1 = 1 = 6815744 = 1048576 = 2097152 = 48 = 4096 = 250 32000 100 128 = 1024 65500

习题七--类和对象

类和对象 一、选择题 1.下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 2.下列表达方式正确的是()。 A.class P{ B. class P{ public: public: int x=15; int x; void show(){cout<

Oracle11g及PLSQL安装过程1.0.

一、Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。 官方下地址: https://www.wendangku.net/doc/7c5130586.html,/technetwork/database/enterprise-edition/downloads/i ndex.html以下两网址来源此官方下载页网。 win 32位操作系统下载地址: https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win32_11gR2_databas e_1of2.zip https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win32_11gR2_databas e_2of2.zip win 64位操作系统下载地址: https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win64_11gR2_databas e_1of2.zip https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win64_11gR2_databas e_2of2.zip 二、Oracle安装 1. 解压缩文件,将两个压缩包一起选择,鼠标右击-> 解压文件如图 2.两者解压到相同的路径中,如图:

两个压缩包没有关联,要全部解压,解压之后文件的大小为2.12G。 3. 到相应的解压路径上面,找到可执行安装文件【setup.exe 】双击安装。如图: 4. 安装第一步:配置安全更新,这步可将自己的电子邮件地址填写进去(也可以不填写,只是收到一些没什么用的邮件而已)。取消下面的“我希望通过My Oracle Support接受安全更新(W)”。如图:(不要填写自己的电子邮件地址,否则它会自动联网,可能会拖慢安装进度)

古书的注释

本章的重点和难点 1、了解《十三经注疏》 2、掌握古书注释的 常见术语:曰、为、谓之 谓犹之言 之为言读曰(读为) 读若(读如) 一、古注的重要性 1、古注是读懂古书的重要途径 2、古注是注释古书重要依据 3、古注能教我们注古书的方法 4、古注中包含着许多语言学理论 二、古注的发展概况 1、注释的萌芽期——先秦 先秦的注释是非系统性的,且多在古籍正文中。 《孟子离娄上》:”诗曰:?天之方蹶,无然泄泄。…泄泄,犹沓沓也。事君无义,进退无礼,言则非先王之道者,犹沓沓也。“ 2、注释的兴盛期——两汉 (1)两汉注释兴盛的原因:罢黜百家,独尊儒术 (2)两汉注释的特点:主要限于给儒家经典著作做注。 (3)两汉时期注释古书的重要书籍 《毛诗诂训传》《古文尚书注》 《毛诗笺》、《周礼注》、《仪礼注》、《礼记注》《春秋公羊解诂》 《战国策注》、《吕氏春秋注》、《淮南子注》《楚辞章句》 3、注释的发展——魏晋至隋唐 (1)魏晋至隋唐注释的特点:注释范围扩大到非儒家经典著作。唐代开始既注原文,也注前人之注。 (2)本期注释古书的重要书籍 《老子注》《庄子注》《春秋外传》《国语注》《五经正义》(《易》《书》《诗》《礼》《左》《周礼疏》、《仪礼疏》《春秋公羊传疏》《春秋谷梁传疏》《论语疏》、《孝经疏》、《尔雅疏》《孟子疏》《经典释文》《荀子注》管子注》《史记正义》《史记索隐》(《史记》三家注)《史记集解》《汉书集注》《文选注》 4、注释的中落——宋、元、明 (1)本期注释的特点:常借注释来发挥自己的政治、哲学等思想观点。 (2)本期注释古书的重要书籍 《四书集注》(《大学章句》《中庸章句》《论语集注》《孟子集注》) 《周易本义》、《诗集传》、《楚辞集注》 5、古籍整理和古注的高峰期——清朝 (1)原因: 统治者大搞文字狱,文人不敢涉及现实而把精力转向古籍。 (2)清人古注成就体现:注书范围广,注书质量高。 范围广:前人没人整理和注释的古籍,清人作了注解,前人注解过的古籍清人重新作注。质量高:注释详尽可靠,解决了古书中许多疑难问题。 三、古注的内容

oracle11g安装图解

Oracle11G安装图解 进入oracle安装界面,我们选择高级安装 出现选择安装类型,我们选择企业版,至于语言我们不用选择

Oracle 基目录:用于安装各种与ORACLE软件和配置有关的文件的顶级目录。 软件位置:用于存放安装具体ORACLE产品的主目录和路径。在此我们使用默认的配置。 在此ORACLE会选择剩余空间最多的盘作为基目录和安装目录的所在盘。 可以输入一个电子邮件或是metalink接收安全问题通知,在此我直接输入一个 电子邮件,当然也可以是metalink用户信息!

在此是因为我的内存不足,所以会报此提示,那么我们在此调整内存,以满足条件后再继续安装。

装到这个界面,这个问题直接选是,不会影响之后的安装,出现这个问题的原因是因为我的电脑没连接到网络 在此选择安装数据库。 如果是“配置自动存储管理”,则自动存储管理(ASM)可用来自动化和简化对数据文件、控制文件和日志文件的优化布局。自动存储管理(ASM)将每个文件切割成许多小扩展文件,并将它们平均分散在一个磁盘组的所有磁盘上。一旦自动存储管理(ASM)磁盘组建立,创建和删除文件的时候,Oracle数据库都会从磁盘组自动分配存储空间。如果是“仅安装软件”,则只安装ORACLE软件,

在安装之后还需要再运行数据库配置助手创建数据库。 一般用途/事务处理:适合各种用途的预配置数据库。 数据仓库:创建适用于特定需求并运行复杂查询环境。常用于存储并快速访问大量记录数据。 高级:安装结束后运行ORACLE DBCA后,用户才可以配置数据库。 在此我们选择“一般用途/事务处理” 步骤8:单独下一步后,出现“指定数据库配置选项”

选择题(类与对象)

1:下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 2:下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数), X::~X() C.X::X(参数), X::~X(参数) D.void X::X(参数), void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 3:()的功能是对象进行初始化。 A.析构函数 B. 数据成员 C.构造函数 D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; 4:下列表达方式正确的是()。 A.class P{ B. class P{ public: public: int x=15; int x; void show(){cout<

}; int a; f=25; void Seta (int x) {a=x;} 答案:D 分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。 5:拷贝构造函数具有的下列特点中,()是错误的。 A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的 B.拷贝构造函数只有一个参数,并且是该类对象的引用 C.拷贝构造函数是一种成员函数 D.拷贝构造函数的名字不能用类名 答案:D 分析:如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。 6:关于静态成员的描述中,()是错误的。 A.静态成员可分为静态数据成员和静态成员函数 B.静态数据成员定义后必须在类体内进行初始化 C.静态数据成员初始化不使用其构造函数 D.静态数据成员函数中不能直接引用非静态成员 答案:B 分析:静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必须对它进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其他位置,例如,放在主函数前面等;静态数据成员初始化与该类的构造函数和析构函数无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员。 7:关于友元的描述中,()是错误的。 A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的私有成员 C.友元函数破坏封装性,使用时尽量少用 D.友元类中的所有成员函数都是友元函数

Oracle_11g 安装图解(详细版)

Oracle 11g安装图文攻略 呵呵,花了一个多小时,左右把11g安装折腾好了。其中折腾SQL Developer 花了好长时间,总算搞定了。好了,先总结下安装步骤,希望给后面的童鞋提高安装效率。呵呵。 一、Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。 官方下地址: https://www.wendangku.net/doc/7c5130586.html,/technetwork/database/enterprise-edition/downloads/ index.html以下两网址来源此官方下载页网。 win 32位操作系统下载地址: https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win32_11gR2_database_ 1of2.zip https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win32_11gR2_database_ 2of2.zip win 64位操作系统下载地址: https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win64_11gR2_database_ 1of2.zip https://www.wendangku.net/doc/7c5130586.html,/otn/nt/oracle11g/112010/win64_11gR2_database_ 2of2.zip 二、Oracle安装 1. 解压缩文件,将两个压缩包一起选择,鼠标右击 -> 解压文件如图

Oracle 11g安装及验证图文攻略

服务器磁盘分配 一般C盘100G装系统、D盘80G放ORACLE基目录和软件位置、E盘剩余空间(最大)放数据库目录。 Oracle 11g安装图文攻略 注意用administrator用户登录 一、Oracle 下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。二、Oracle安装1. 解压缩文件,将两个压缩包一起选择,鼠标右击- 解压文件如图2.两者解压到相同的 一、Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。 二、Oracle安装 1. 解压缩文件,将两个压缩包一起选择,鼠标右击-> 解压文件如图 2.两者解压到相同的路径中,如图:

3. 到相应的解压路径上面,找到可执行安装文件【setup.exe 】双击安装。如图: 4. 安装第一步:配置安全更新,这步可将自己的电子邮件地址填写进去(也可以不填写,只是收到一些没什么用的邮件而已)。取消下面的“我希望通过My Oracle Support接受安全更新(W)”。如图:

5. 安全选项,直接选择默认创建和配置一个数据库(安装完数据库管理软件后,系统会自动创建一个数据库实例)。如图:

6. 系统类,直接选择默认的桌面类就可以了。(若安装到的电脑是,个人笔记本或个人使用的电脑使用此选项) 服务器类直接点击这里跳转如图:

7. 典型安装。重要步骤。建议只需要将Oracle基目录更新下,目录路径不要含有中文或其它的特殊字符。全局数据库名可以默认,且口令密码,必须要牢记。密码输入时,有提示警告,不符合Oracel建议时不用管。(因Oracel建议的密码规则比较麻烦,必须是大写字母加小写字母加数字,而且必须是8位以上。麻烦,可以输入平常自己习惯的短小密码即可) 如图:

古代汉语 古书注解

古书的注解 一、解释下列注解体例的名称:传、正义、疏、笺、注、章句、集解。 二、解释下列注解术语的作用,并把作用类似的归在一起: 曰、谓、为、犹、貌、谓之、之貌、读为、之言、读曰、读若、之为言、读如、之犹言、犹言。 三、问答: 1.古书注解的体例主要有哪几类?它们各自有哪些特点? 2.古书注解的基本方法主要有几种? 捌、古书的标点 一、简要回答下列问题: 1.标点古书的一般原则是什么? 2.标点古书常见的错误有哪两种情况? 3.什么是句读,句读与今天所说的标点有什么不同? 二、给下列古文加标点符号,并说明加点词的意义、在句中的作用或用法: 1.子曰德之不修学之不讲闻义不能徙不善不能改是吾忧也(论语?述而) 2.齐景公问政于孔子孔子对曰君君臣臣父父子子公曰善哉信如君不君臣不臣父不父子不子虽有粟吾得而食诸(论语?颜渊) 3.孟子曰爱人不亲反其仁治人不治反其智礼人不答反其敬行有不得者皆反求诸已其身正而天下归之(孟子?离娄上) 4.齐宣王问曰汤放桀武王伐纣有诸孟子对曰于传有之曰臣弑其君可乎曰贼仁者谓之贼贼义者谓之残残贼之人谓之一夫闻诛一夫纣矣未闻弑君也(孟子?梁惠王下) 5.法家者流盖出于理官信赏必罚以辅礼制易曰先王以明罚饬法此其所长也及刻者为之则无教化去仁爱专任刑法而欲以致治至于残害至亲伤恩薄厚(汉书?艺文志?诸子略) 6.孟子谓戴不胜曰子欲子之王之善与我明告子有楚大夫于此欲其子之齐语也则使齐人傅诸使楚人傅诸曰使齐人傅之曰一齐人傅之众楚人咻之虽日挞而求其齐也不可得矣引而置之庄岳之间数年虽日挞而求其楚亦不可得矣子谓薛居州善士也使之居于王所在于王所者长幼尊卑皆薛居州也王谁与为不善在王所者长幼尊卑皆非薛居州也王谁与为善一薛居州独如宋王何(孟子?滕文公下) 7.秋水时至百川灌河泾流之大两涘渚涯之间不辩牛马于是焉河伯欣然自喜以天下之美为尽在己顺流而东行至于北海东面而视不见水端于是焉河伯始旋其面目望洋向若而叹曰野语有之曰闻道百以为莫己若者我之谓也且夫我尝闻少仲尼之闻而轻伯夷之义者始吾弗信今我睹子之难穷也吾非至于子之门则殆矣吾长见笑于大方之家(庄子?秋水) 注:①涘:岸边。渚:水中小块陆地。 8.北有黎丘乡有奇鬼焉善效人之子侄昆弟之状邑丈人有之市而醉归者黎丘之鬼效其子之状扶而道苦之丈人归酒醒而诮其子曰吾为汝父也岂为不慈哉我醉汝道苦我何故其子泣而触地曰孽矣无此事也昔也往责于东邑人可问也其父信之曰嘻是必夫奇鬼也我固尝闻之矣明日端复称饮于市欲遇而刺杀之明旦之市而醉其真子恐其父之不能反也遂逝迎之丈人望其真子拔剑而刺之(吕氏春秋) 9.富国之道节用裕民而善藏其余节用以礼裕民以政彼节用故多余裕民则民富民富则田肥以易田肥以易则出实百倍以上法取焉而下以礼节用之余若丘山不时焚烧无所藏之夫君子奚患乎无余故知节用裕民则必有仁义圣良之名而且有富厚丘山之积矣此无他故焉生于节用裕民也不知节用裕民则民贫民贫则田瘠以秽田瘠以秽则出实不半上虽好取侵夺将寡获也而或以无礼节用之则必有贪利纠譑①之名而且有空虚穷乏之实矣此无他故焉不知节用裕民也康诰曰弘覆乎天若德裕乃身此之谓也(荀子?富国) 注:①纠譑:搜刮。 10.淮阴侯韩信者淮阴人也始为布衣时贫无行不得推择为吏又不能治生商贾常从人寄食饮人多厌之者常数从其下乡南昌亭长寄食数月亭长妻患之乃晨炊蓐食食时信往不为具食信亦知其意竟绝去信钓于城下诸母漂有一母见信饥饭信竟漂数十日信喜谓漂母曰吾必有以重报母母怒曰大丈夫不能自食吾哀王

古书注解的基本体例

古书注解的基本体例主要有三类: ①传注体:是经汉代学者奠基的以解释先秦文献词句为主的一种体例. ②义疏体:是既释经文又兼释注文的一种体例. ③集解体:是汇集众说的一种体例 另一种解释: 疏:古书的注释体制之一.起源于南北朝,内容为疏通原书和旧注的文意.阐述原书的思想,或广罗材料,对旧注进行考核,补充辨证.如南朝梁皇侃的《论语义疏》.《论语义疏》是现今完整流传下来的南北朝时期的唯一义疏体著作,此书亡佚于南宋,清乾隆年间又由日本传入。 传:替经书作注的著作。一般由他人记述,例如:《春秋左氏传》《春秋公羊传》。它属于古籍注释体例之一,其它的还有注、笺、正义、诠、义疏、义训。亦有自述生平者,称“自传”。传记大体分两大类:一类是以记述详实史事为主的史传或一般纪传文字;另一类属文学范围,以史实为根据,但不排斥某些想象性的描述。黄道周《节寰袁公传》:“(袁可立)子枢,博雅有胆识,为户部郎,别有传。” 笺:本指狭条形小竹片,古代无纸,用简策,有所表识,削竹为小笺,系之于简。《毛诗》篇首“郑氏笺”孔颖达疏:“郑於诸经皆谓之'注'。此言'笺'者,吕忱《字林》云:'笺者,表也,识也。'郑以毛学审备,遵畅厥旨,所以表明毛意,记识其事。故特称为笺。”后因以称注释古书,以显明作者之意为笺。 注释,顾名思义,当然是解答疏导正文中不甚清楚的问题。古书的注释大体可以分为两大类,即: 随文释义的注疏; 通释语义的专著。 先说随文释义的注疏。 随文释义的注疏向来有很多名称,最初叫做“传”,叫做“说”,“解”,也称为“诂”“训”,后来又有“笺”、“注”“诠”“述”“学”“订”“校”“考”“证”“微”“隐”“疑”“义”“疏”,“音义”“章句”等别名。这些名称有的名异实同,有的意义微殊,有的互相结合,成为新的名称,如“训诂”“诂训”“解诂”“校注”“义疏”“疏证”等,其用途各不相同。现试举主要者一二: 传,即传授讲解的意思,《春秋》有三传(《左氏传》、《公羊传》、《谷梁传》)。传有的阐明大义,有的引申未言之意,有的逐句解释。古语云“圣人作其书,贤者作其传”。传有内传、外传、大传、小传、补传、集传之分。 注,取义于如水注物,对文字古奥、文义艰深之处,略疏典故。注也是现在通用的注释名词。 注疏的内容大致有:1.解释字义,2.串讲文意,3.分析名读,4.校勘文字,5.阐述语法,6.说明修辞手段,7.诠解成语典故,8.考证古音古义,9.叙事考史,10.记述说川,11.发凡起例。就形式而言又可分成八类。1.注和疏(注只释、疏兼释注),2.释义和叙事,3.他注和自注,4.补注和集注。 再说通释语义的专著。 所谓通释语义的专著,是对随文释义的注疏说的。两者都是释义的书,但所释的义和释义的方法却都有些不同。后者所释的义被局限在某种语言环境中,即

Oracle 11g 64位下载及安装教程(图文并茂)

1、下载Oracle 11g R2 for Windows的版本 下载地址:https://www.wendangku.net/doc/7c5130586.html,/technetwork/database/enterprise-edition/downloads/index.html 其中包括两个压缩包:win64_11gR2_database_1of2.zip,win64_11gR2_database_2of2.zip 2、将两个压缩包解压到同一个目录下,即“database”,然后单击解压目录下的“setup.exe”文件: 3、在出现的“配置安全更新”窗口中,取消“我希望通过My Oracle Support接受安全更新”,单击“下一步”:

4、在“安装选项”窗口中,选择“创建和配置数据库”,单击“下一步”: 5、在“系统类”窗口中,选择“桌面类”,单击“下一步”:

6、在“典型安装”窗口中,选择Oracle的基目录,选择“企业版”和“默认值”并输入统一的密码为:Oracle11g,单击“下一步”: 7、在“先决条件检查”窗口中,单击“下一步”:

8、在“概要”窗口中,单击“完成”,即可进行安装: 9、出现的安装过程如下:

数据库创建完成后,会出现如下“Database Configuration Assistant”界面: 选择“口令管理”,查看并修改以下用户:

(1)普通用户:SCOTT(密码:tiger) (2)普通管理员:SYSTEM(密码:manager) (3)超级管理员:SYS(密码:change_on_install) 修改完成后,单击“确定”。 10、在“完成”窗口中,单击“关闭”即可。 安装完成界面中的内容: Enterprise Manager Database Control URL - (orcl) : https://localhost:1158/em 数据库配置文件已经安装到C:\app\Administrator,同时其他选定的安装组件也已经安装到C:\app\Administrator\product\11.2.0\dbhome_1。 Oracle完成安装后,会在系统中进行服务的注册,在注册的这些服务中有以下两个服务必须启动,否则Oracle将无法正常使用: (1)OracleOraDb11g_home1TNSListener:表示监听服务,如果客户端要想连接到数据库,此服务必须打开。在程序开发中该服务也要起作用。 (2)OracleServiceORCL:表示数据库的主服务,命名规则:OracleService数据库名称。此服务必须打开,否则Oracle根本无法使用。 附: A、32位Oracle 11g Client(win32_11gR2_client.zip)的安装注意点: 在选择安装类型时,选择“管理员”,如下图:

古书的注解(复习资料)

古书的注解 内容提要 一、古注出现的原因和意义二、古注的作用和意义三、古注源流沿革 四、古注的名称(重点)五、古注的条例六、古注的内容 七、古注的风格八、古注的常用术语(重点)九、怎样读古注 一、古注出现的原因 (一)历史与语言的隔阂。例如: (1)《孟子·梁惠王上》:“为长者折枝,语人曰:我不能。是不为也,非不能也。” 赵岐注:“折枝,案摩,折手节,解罢枝也。 刘熙注:“折枝,若今之案摩也。” 朱熹注:“为长者折枝,以长者之命折草木之枝。” (2)现代的“翻译”: 《周礼》有官叫“象胥”、《国语》称为“舌人”。周秦有“遒人”,即“行人”之官,每年出外采访代语方言。(刘歆《与杨雄书》) (3)《诗·小雅·采绿》:“五日为期,六日不詹。”《方言》“詹,至也。楚语也” (4)杜甫《戏作俳谐体遣闷》“家家养乌龟,顿顿食黄鱼”。 《尔雅义疏》:[鸬鹚],蜀人畜以捕鱼。 (二)表达的需要 《公羊传》:京师者何?天子之居也,京者何,大也;师者何,众也。天子之居必以重大之辞大也。 《墨子》:“梦者,卧而以为然。” 《韩非子》有《解惑》《喻老》, 《荀子》有“天论、礼论、乐论”。内容提要 二、古注作用与意义 古注可靠,今注之源。 古人注——清代及之前的注释,用文言文写成,有一定的体例(简称古注) 今人注——用现代汉语白话文写成,较为通俗(一般来说,可包括“五四”以来学者的注释,但解放后的较多)。 (一)读懂古书的重要途径 例1《左传·隐公元年》:祭仲曰:“都城过百雉,国之害也。” 杜预注:“方丈曰堵,三堵曰雉,一雉之墙长三丈,高一丈。侯伯之城,方五里,径三百雉,故其大都不得过百雉。” 例2 寤言不寐,愿言则嚏。(《诗经·邶风·终风》) 汉·郑玄《毛诗笺》:“言,我;愿,思也。~当读为不敢嚏咳之嚏。我其忧悼而不能寐,汝思我心如是,我则嚏也。今俗,人嚏云人道我,此古之遗语也。” 例3 昏礼者,将合二姓之好,上以事宗庙,而下以继后世也,故君子重之。是以昏礼纳采、问名、纳吉、纳徵、请期,皆主人筵几於庙,而拜迎於门外,入揖让而升,听命於庙,所以敬慎重正昏礼也。听命,谓主人听使者所传婿家之命。 ○昏者,一本作“昏礼者”。婚礼用昏,故经典多止作昏字 ○“纳采”者,谓采择之礼,故《昏礼》云:“下达,纳采,用雁也。”必用雁者,《白虎通》云:“雁,取其随时而南北,不失节也。又是随阳之鸟,妻从夫之义也。” “问名”者,问其女之所生母之姓名,故《昏礼》云“谓谁氏”,言母之女何姓氏也。 ○“纳吉”者,谓男家既卜得吉,”与女氏也。

类、对象、方法、变量、属性定义

类、对象、变量、方法及属性 (2007-05-22 00:15:34) 转载▼ 类:类是组成java程序的基本要素。类封装了一类对象的属性和方法。类是用来定义产生对象的模板。类的实现包括两部分:类声明和类体。 类体分为两部分:成员变量和局部变量。 1、成员变量和局部变更的类型可以是java中的任何一种数据类型.变量定义部分所定义的变更被称为类的成员变量,在方法体中定义的变量和方法的参数被称为局部变量。 2、成员变量在整个类内都有效,局部变量只在定义它的方法内有效。 3、成员变量又分为实例成员变量(实例变量)和类变量(静态变量)。、 4、如果局部变量的名字和成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。 5、如果局部变量的名字和成员变量的名字相同,则成员变量被隐藏。这时如果想在该方法内使用成员变量,必须使用关键字this. 方法:一个类的类体由两部分组成:变量的定义和方法的定义。方法定义包括两部分:方法声明和方法体。例如:一个汽车的加速、减速、转弯、制动这些都是 该对象的方法。 方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者参数个数不同,或者参数的类型不同。 构造方法:是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。 类方法和实例方法 成员变量可分实例变量和类变量。类中的方法也分为实例方法和类方法。 1、对成员变量的操作只能放在方法中,方法可以对成员变量和方法体中自己定义的局部变量进行操作。 2、实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。 3、一个类中的方法可以互相调用,实例方法可以调用该类中的其他方法;类中的类方法只能调用该类的方法,不能调用实例方法。 对象:类是创建对象的模板。当使用一个类创建了一个对象时,也就是说给出了这个类的一个实例。“对象”其实我们并不陌生,天天都在和我们打交道,我们写字用的笔,骑的“宝马”等,太多了,世界万物,一切皆时对象! 属性:就是一个对象自用拥有的特性。例如:一辆汽车的颜色、重量、轮子数目、运行速度等这些都是该对象自身的属性。 好了,了解了概念还不行。还得自己再动手多写写代码。要学习java编程就必须学会怎样去编写类,怎么用java的语法去描述一类事物共有的属性和功能。属性通过变量来刻画,功能通过方法来体现,即方法操纵属性形成一定的算法来实现一个具体的功能。类把数据和对数据操作封装成一个整体。

古代汉语古书的注解

古书的注解 1 古书的基本体例:有传﹑注﹑笺﹑诂﹑解﹑章句﹑音义﹑正义﹑补注、集注﹑集 解﹑集释等。大致类型有:(1 )传注体:用以解释古书正文,(2 )义疏体:既解释古书正文,又解释前人注文。(3 )集解(集注﹑集释)体:在同一本古书下洪各家 注释。 2 、《十三经注疏》本中,《诗经》注疏包括的四家的注解,即西汉毛亨的《毛诗 故训传》,东汉郑玄的《毛诗笺》,唐陆德明的《毛诗音义》(又叫《释文》),唐 孔颖达的《毛诗正义》(又叫《疏》)。 3 、古书注解的内容大致包括以下几方面:(1 )解释词义(2 )串讲文意(3 )分析句读(4 )提示语法(5 )说明修辞表达方式(6 )诠释典故成语(7 )校勘文字。 4 、古注中的“章句”体,着重于串讲和提示文意。不仅串讲文句大意,还往往把 文章的段落大意归纳出来。“集注体”的古注有时也这样做。 5 、古注的常用术语: (1 )“曰﹑为﹑谓之”:用来辨析意义相同相类的词语间的细微差别。用法是“解释语+ ‘曰﹑为﹑谓之’→被解释语”。如“豕一岁曰豵”,“豵”是被解释语。 (2 )“谓”:以狭义释广义,以具体释抽象,以分名释总名。偶尔有用“谓”辨 析相关相类的词语的意义差别。如“有谓富也,亡谓贫也”。 (3 )“犹”:被释语在前,解释语在后。使用这个术语大致有四种性质:用同义(包括近义)词来解释。如“同犹俱也。”用远引申义来解释。如“老犹敬也,幼犹 爱也”。以今语释古语。“谁为,犹为谁也。”以常用字释非常用字。如“直犹但也。” (4 )“貌,之貌”:都用来解释表示某种性质﹑状态的形容词,相当于“……的样子”。如“莞尔,小笑貌”。 (5 )“辞(词)也﹑语词也﹑语助也﹑发声”:古注中使用这些术语,大都是用 来说明某字是虚词(主要是指语气词)。如《诗经》:“汉之广矣,不可泳思。”毛传:“思,辞也。”意思指“思”是虚词。 (6 )“之言﹑之为言”:一般都是声训,即用被解释的词的声音相同或相近的词 来进行解释,目的在于探求事物的命名之义或同源词,并不是解释这个词在句中的具 体表达义。如《礼记》:“古者公田藉而不税。”郑玄注:“藉之言借也。”古注中 也有用“之言”来解释用字通假现象的。如《诗经》:“既敬既戒,惠此南国。”郑笺:“敬之言警也。”

Linux操作系统中Oracle11g数据库安装步骤详细图解

Linux 操作系统中Oracle11g 数据库安装步骤详细图解 来源:Ask Oracle 社区/栏目:基础教程/时间:2013-03-19/阅读:5009次 Linux 操作系统中Oracle11g 数据库安装规范 一 :数据库安装软件(含补丁)的下载说明 Oracle 数据库安装软件获得途径: 1、可以通过ftp 的方式上传至服务器 2、Oracle 官方网站下载:(从11.2.0.2开始ORACLE 不再提供升级patch ,只提供完整的安装包) 二:数据库 Linux 操作系统中Oracle11g 数据库安装规范 一:数据库安装软件(含补丁)的下载说明 Oracle 数据库安装软件获得途径: 1、可以通过ftp 的方式上传至服务器 2、Oracle 官方网站下载:(从11.2.0.2开始ORACLE 不再提供升级patch ,只提供完整的安装包) 二:数据库版本规定 本安装规范所针对的Oracle 数据库版本为:Oracle 11.2.0.3.0 三:安装环境需求 1、系统硬件需求 系统必须满足下列最小硬件要求 ? 内存需求 ? 系统架构要求 ? 磁盘空间需求 ? 显示需求 硬件系统基本需求参照表 2、操作系统版本及补丁矩阵 Oracle 11gR2要求OS 至少为RHEL4.7,内核为Kernel 2.6.9 作为生产系统,我们要求使用RHEL 5.6 64位版本,即: Red Hat Enterprise Linux AS release 5 Update 5 x86_64 需要安装以下RPM 软件包(加32bit 括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装): 1 2 3 4 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125

c++第2章 类和对象习题

《面向对象程序设计》习题班级:学号:姓名:名单序号:成绩: 第2章类与对象 一、选择题(共26分,每题1分) 1.下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 2.下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数), X::~X() C.X::X(参数), X::~X(参数) D.void X::X(参数), void X::~X(参数) 3.()的功能是对象进行初始化。 A.析构函数 B.数据成员 C.构造函数 D.静态成员函数 4.下列表达方式正确的是()。 A.class P{ B. class P{ public:public: intx=15;int x; void show(){cout<

古书注解和训诂学常识

通论:古书的注解、训诂学常识 一、古书的注解 古书注解的发展 1.注解古书的工作开始于汉代。著名的注解家有:毛亨、孔安国、马融、郑玄等。 2.唐人除了为先秦经书做注疏工作外,也为汉以下的其他古书做注解,如《史记》、《文选》。 3.宋代朱熹不受汉代学者的束缚,直接从正义入手。 4.清代学者的贡献 (1)为古书作注解和考证工作:陈奂《诗毛氏传疏》、马瑞辰《毛诗传笺通释》、刘宝楠《论语正义》、焦循《孟子正义》、王先谦《庄子集解》、郭庆藩《庄子集释》。 (2)古籍校勘的工作 (3)以读书札记的形式,对古书的词句诠释和文字校订提出自己的看法:王念孙《读书杂志》,王引之《经义述闻》,俞樾《古书疑义举例》等等。 注解的任务 1、注明出典。如李善《文选》注。 2、划分段落,诠释大意。 3、阐明哲学思想。如郭象注和成玄英疏《庄子》。 传、笺、疏 “传”指阐明经义。如《毛诗故训传》。 “笺”有补充与订正毛传的意思,一方面对毛传简略隐晦的地方加以阐明,另一方面把不同于毛传的意见提出,使可识别。郑玄《六艺论》:“注诗宗毛为主,毛义若隐,略更表明。如有不同,即下己意,使可识别也。” 作者不仅解释正文,还给前人的注解作注解,这种注解一般叫做“疏”,也叫“正义”。 《十三经》及其注疏者 集注:把前代各家的注选集在一起,再加上自己的注解,成为集注或集解。 注解常见的四种情况 A、释词。 B、串讲。把一句或几句连串起来讲解。在串讲中附带注释了词义。 C、释词并串解。前两种方式的同时使用。 D、通释全章大意。 常见训诂术语 1.释义的术语 曰、为、谓之:被释词放于其后。不仅用来释义,还用来分别同义词或近义词之间的细微差别。 《论语·学而》:“有朋自远方来,不亦说乎?”郑玄注:“同门曰朋,同志曰友。” 《尔雅·释天》:“谷不熟为饑,蔬不熟为馑。” 《尔雅·释器》:“骨谓之切,象谓之磋,玉谓之琢,石谓之 谓:格式是“甲谓乙也”。被释词放于其前。往往以具体释抽象,或以一般释特殊。 《论语·为政》:“道之以政,齐之以刑,民免而无耻。”孔安国注:“政谓法教。” 《论语·子罕》:“后生可畏。”何晏注:“后生谓少年。” 《离骚》:“恐美人之迟暮。”王逸注:“美人谓怀王也。” 貌:一般用于动词或形容词后。被释词往往是表示某种性质或状态的形容词。 《论语·阳货》:“夫子莞尔而笑。”何晏注:“莞尔,小笑貌。” 《离骚》:“纷吾既有此内美兮。”王逸注:“纷,盛貌。” 犹:格式是“甲犹乙也。”释者与被释者往往是同义或近义的关系。《说文》:“讎,犹应也。”

类和对象的32个知识点

类和对象的32个知识点: 关于类的知识点: 1.类是一种抽象数据类型。 2.C++中通常使用关键字class定义类类型。类定义以关键字class开始,类定义体位于一对花括号({})之间,类定义以分号结束。 3.可以将类需要提供的外部接口定义为公有成员,公有成员不仅可以在类内部被访问,也可以在类外部通过类对象进行访问。 4.类内部的隐藏信息定义为私有成员或保护成员。私有成员志允许本类的成员函数和友元访问。 5.类中的访问权修饰符可以以任意顺序出现多次,类中缺省的访问权限是私有的。 6.类中定义的数据成员不能在类体内初始化,应在类的构造函数中进行初始化。 7.类中所有的成员函数都必须在类体内进行声明。 8.在类体内定义的成员函数是内联函数。 9.在类体外定义成员函数时,函数名前要加上类名和作用域运算符(::)。 10.可以使用类名声明该类的对象,成员选择运算符.和->用来访问对象成员。 构造函数知识点: 11.构造函数是特殊的成员函数,用于初始化类对象的数据成员。构造函数在创建对象时由系统自动调用。 12.构造函数名与类名相同,没有返回值。 13.构造函数可以指定缺省参数值,可以进行重载。 析构函数知识点: 14.析构函数是特殊的成员函数,析构函数在对象的生存周期即将结束的时候由系统自动调用。 15.析构函数名是在类名前加求反(求补)符号~,没有返回值。 16.析构函数不接受参数,类中只能有一个析构函数,析构函数不能重载。 17.如果类没有定义构造函数和析构函数,编译器将生成缺省构造函数和析构函数。 18.用一个已知的对象初始化一个正创建的同类对象时要调用拷贝构造函数,拷贝构造函数的参数是对同类的某个对象的引用。 19.this指针指向调用成员函数的类对象,他隐含与每一个非静态的类成员函数中。 20.静态成员表示整个类范围的信息,它在类中只有一份拷贝(副本)。静态成员的声明以static 关键字开始。 21.静态数据成员必须在类体外进行初始化,初始化时不使用static关键字,但必须使用作用域运算符(::)限定它所属的类。 22.静态成员函数可以直接访问类中得静态成员,但不可能直接访问类中得非静态成员,必须通过对象进行访问。 关于常类型的知识点: 23.关键字const指定的对象必须进行初始化,且不能修改。 24.使用const关键字说明的成员函数称为常成员函数,常成员函数不能更新对象的数据成员。 25.常对象只能调用常成员函数。 26.常成员函数和非常成员函数可以进行重载。 27.常数据成员的初始化必须通过构造函数的成员初始化列表进行。 28.可以在类体内的任何地方使用关键字friend声明友元。 29.友元不属于当前类,但它可以访问该类的所有成员,包括私有成员、保护成员和公有成员。 30.一个类可以将其它类的对象作为自己的数据成员,即成员对象。

c类和对象练习题修订稿

c类和对象练习题公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

第8章类与对象 8.1知识要点 1.掌握类与对象的概念和定义方法,掌握类成员的访问属性。 2.掌握构造函数的概念、定义方法和使用方法。 3.掌握析构函数的概念、定义方法和使用方法。 4.掌握拷贝构造函数的概念、定义方法和使用方法。 5.掌握包含对象成员的类构造函数的定义方法。 6.掌握静态成员的概念、定义方法、作用和特点。 7.掌握友元的概念、定义方法、作用和特点。 8.掌握类模板的定义格式与使用方法。 8.2典型例题分析与解答 例题1:下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 ? 例题2:下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数),X::~X() C.X::X(参数),X::~X(参数) D.void X::X(参数),void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 ? 例题3:()的功能是对象进行初始化。 A.析构函数B. 数据成员 C.构造函数 D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; ? ? 例题4:下列表达方式正确的是()。 A.class P{B.class P{ public: public: int x=15; int x; voidshow(){cout<

相关文档