2009年8月30日

英文里动词是一个句子中不可缺少的部分。
1.完全及物动词
动词加了宾语后意思很完全。
形态:
主语+完全及物动语+宾语
I love her.
Don't hit me.
主语+be动词+现在分语+宾语
I am pulishing him.
主语+be动语+过去分语
He was hit.
2.完全不及物动词
形态:
主语+完全不及物动词
He ran.
主动+be动词+现在分词
He was running.
3.不完全不及物动词 例如:be动语
主语+不完全不及物动语+补语
He becomes handsome.
He got mad/angry/hungry
He got hurted/killed.
He face turned pale.
The leaves are turning yellow.
4.不完全及物动词
I make him wash the car. make/have sb do sth(动词原型)
get sb to do sth
let sb do sth
I let him sing a song.
let up雨停了
I have a house to let.我有房子要出租

I will force him to do it.
That story cause me to cry.

5.受予动词
I gave him a car.
give后跟的是双宾语,第一个间接宾语(通常是人或对象),第二个直接宾语(通常是事或物)
tell,lend
I gave a book to him.
I teach english to him.
I bought a book for him.
I made a chair fom him.

posted @ 2009-08-30 21:35 在从未放弃的路上 阅读(175) | 评论 (0)编辑 收藏


2009年8月29日

在英文里,动语不能直接做主语,要变为动名词或者不定式短语。
例如:
Working with him is interesting.
To learn engish with peter is fan.
动名词用于做有经验的事情。
不定式用于没有实现的事情,例如计划,设想等。

如果不定式短语做为主语过长,可以虚的主语,it来代替,不定式短语放在句尾。
例如:
It it my plan to study aboard with very good friend of mine whose call jone.

中文里可以用句子做主语,而英文里不可以,要将句子变为名词从句。
句子前面加一个连词that,构成名词从句。
例如:
That she loves me is ture.
That he doesn't agree with me makes me angry.
It makes me angry that he doesn't agree with me.

posted @ 2009-08-29 20:37 在从未放弃的路上 阅读(2871) | 评论 (0)编辑 收藏


2009年8月18日

1.Self Encapsulate Field

为这个field建立getting/setting method,并且只通过这些函数来访问field.
例:
privte int low,high;
boolean includes(int arg){
    return arg>=low&&arg<=high;
}
重构为:
private int low,high;
boolean includes(int arg){
    return arg>=getLow()&&arg<=getHigh();
}
int getLow(){return low;}
int getHigh(){return high;}

2.Replace Data Value with Object
将一个数据项变成一个对象。
3.Change Value to Reference
将这个实值对象变成一个引用对象。
4.Change Reference to Value
将一个引用对象变成实值对象。
例:
Class Currency{
private String code;
public String getCode()}
    return code;
}
private Currency(String code){
    this.code=code;
}
}
5.Replace Array with Object
以对象替换数组,对于数组中的每个元素,以一个值域表示之。
例:
String[] row=new String[3];
row[0]="Liverpool";
row[1]="15";
重构为:
Performance row=new Performance();
row.setName("Liverpool");
row.setWins("15");
6.Duplicate Observed Data
7.Change Unidirectional Association to Bidirectional
8.Change Bidirectional Association to Unidirectional

posted @ 2009-08-18 21:02 在从未放弃的路上 阅读(224) | 评论 (0)编辑 收藏

Abstract Factory
通过工厂类创建某一对象,而不是直接使用new关键字。
public class Computer(){
}
public class NoteBookComputer extends Computer(){
}
public abstract class ComputerFactory(){
    public abstract Computer createComputer();
}
public class NoteBookComputerFactory extends ComputerFactory{
     public Computer createComputer() {
         return new NoteBookComputer();
    }
}
client code:
ComputerFactory factory=new NoteBookComputerFactory();
Computer noteBook=factory.createComputer();

posted @ 2009-08-18 21:01 在从未放弃的路上 阅读(176) | 评论 (0)编辑 收藏


2009年8月17日

1.Singleton(单例模式)
一个类在系统中只存在一个实例,并提供该实例的全局访问点。
样例代码,lazy-load:
public class Singleton {
 private static Singleton instance;
 private Singleton(){
  
 }
 public static synchronized Singleton getInstance(){
  if(instance==null)
   instance=new Singleton();
  return instance;
 }
}
or
public class Singleton(){
    public static final Singleton instance=new Singleton();
    private Singleton(){
    }
}

 

posted @ 2009-08-17 22:32 在从未放弃的路上 阅读(167) | 评论 (0)编辑 收藏


2007年9月29日

1.文字常量(literal constant)
     char,int,short,long,float,double,long double,boolean
 for example: 128u,1024L,7LU,3.14f,'a',"aa",true
转义序列:一部分不可打印的字符,如换行,制表,单引号,双引号等。
(\n,\t,,\v,\b,\r,\f,\a,\\,\?,\',\")
宽字符文字:字符文字前面加上L,例:L'a'。宽字符常量用来支持某些语言的字符集合如汉语,日语这些语言中的某些字符不能用单个字符来表示。
2.变量
C++k中的每个符号变量都与一个特定的数据类型相关联,这个类型决定了相关内存的大小,布局,能够存储在该内存区的值的范围以及可以应用其上的操作集。

例如:
          int student_count;
          double salary;
          bool on_loan;
          string street_address;
          char delimiter;
变量和文字常量都有存储区,并且有相关的类型。区别在于变量是可寻址的。
每个变量,都有两个值:
         1.数据值,存储于某个内存地址中。被称为右值,即被读取的值。文字常量和变量都可被用作右值。
         2.地址值,存储数据值的那块内存的地址。它有时被称为变量的左值,即位置值。文字常量不能被用作左值。
在C++中,程序在使用之前必须先知道该对象。可以通过对象声明来实现,它的作用是使程序知道该对象的类型和名字。由关键字extern以及跟在后面的对象类型以及对象的名字构成。声明不是定义,不会引起内存分配。一个程序只能包含一个对象的一个定义,却可以包含任意数目的对象声明。可将声明放于头文件中。

变量名可由数字,字母,下划线组成。以字母或下划线开头,区分大小写。对长度不限制。不能使用C++的关键字。在实际开发中,变量名通常取代表实际含义的英文字母。
对象的定义
类型指示符+名字,分号结束。例如:unsigned long distance;
如果变量是在全局域定义的,系统提供初始值0。如果是局部域的,或是通过new表达式动态分配的,系统不提供初始值0。这样的对象是未初始化的,它们不是没有值,而是未定义。
C++支持两种形式的初始化。
一种是使用赋值操作符的显式语法形式:int ival=1024;
第二种是隐式形式:int ival(1024);
每种内置数据类型都支持一种特殊的构造函数语法,可将对象初始化为0。例:int ival=int();
对象可以用任意复杂的表达式来初始化,包括函数的返回值。
指针
指针持有另一个对象的地址,使我们能够间接地操作这个对象。
通过在标识符前加一个解引用操作符(*)来定义指针。例:
int *p1,p2;
complex<double> *cp;
当指针持有0值时,表明它没有指向任何对象,或持有一个同类型的数据对象的地址。
空(void*)类型指针,它可以被任何数据指针类型的地址值赋值(函数指针不能赋值给它).
不能操作空类型指针所指向的对象,只能传送该地址值或将它与其他地址值作比较。
C++提供了解引用操作符(*)来间接地读和写指针所指向的对象。
int ival=1024;
int *pi=&ival;
int **ppi=&pi;ppi是指向int指针pi的指针。
int *pi2=*ppi;
要访问到ival,需要两次解引用ppi.*ppi
指针可以让它的地址值增加或减少一个整数值。称为指针的算式运算。典型用法是遍历一个数组。
字符串类型
C风格字符串

posted @ 2007-09-29 01:38 在从未放弃的路上 阅读(370) | 评论 (0)编辑 收藏


仅列出标题  

posts - 9, comments - 0, trackbacks - 0, articles - 3

Copyright © 在从未放弃的路上