好大的题目啊,估计100贴也讲不完。我带个头,解释一下OOP的字面意思:OOP - Object-Oriented Programming
面向对象的编程
面向对象的编程
解决方案 »
- 奇怪的问题:Struts2的There is no Action mapped for action name ...
- 急急急灰常急急html生成pdf问题
- 使用JPA标注,我的一对多关系没用关联映射为什么还报错?
- 大侠们求教JDBC问题
- 设计一个算法将一个线性表如何将大于0的数放在后面,小于0的放在前面。
- hibernate添加JNDI问题
- 散份提醒:什么时候使用Web Service?
- xfire 调用带有用户名密码的webserivce如何写
- 为什么第二次执行rs = stmt.executeQuery(sql);时会没反应?
- 怎样提高lucence搜索精度?
- Vector 作为会话bean的函数的参数时候的出错!!
- struts的问题,请高手解决,问了好多论坛,都没有人解答
我就是不知道oop的英语缩写
面向对象的编程
ooa是分析
ood是设计
我的理解是这样的:首先要抽象比如车:车有很多属性(四个轮子,方向盘),车有很多动作(转弯,前进……)那么当你要表示你自己的车的时候,实际上就是上述所说的车的一个实例那么这句是oop的入门了oop首先不关心具体的事物,它关心的一类具有同种性质的事物,用一些属性和动作来描述这个事物的基本性质,而同类的一个具体的事物。所以oop讲的最多的是;类,对象(实例)等这些名词了。
你定义一个类(就是实际中的某一种事物的抽象比如:车)
然后这个类有很多的属性和方法,你用这个类定义一个对象(具体的东西,比如:爱梦先生的车 )
那么爱梦的车就具有了:轮子、方向盘,能转弯、前进。。不知道你学过c和数据结构没有,对于结构体有没有什么概念。
实际上在oop里面是不将结构体的,讲:类类是对结构体的扩张,结构体只有几个数据
类包含对数据的的操作。。其实:
1:
struct a
{
int x;
float y;
}
在oop中我们这样写
2:
class a
{
int x;
float y;
}
在1中你不能再写什么函数(在oop中叫方法)
在2中决大所数情况还包括一些方法
例如:
class a
{
int x;
int y;
public void setX(int a)
{ x=a;}
pulic void setY(int b)
{ y=b ;}
public int result()
{ return x+y;}
}
那么你就可以用类a定义一的实例
比如
a a_example;
那么实例a_example不仅仅可以像结构体一样拥有多个数据
还有一些方法(函数)
例如在其他一个类中:
class b
{
int p=9;
int q=10;
int r;
a_example = new a();
a_example.setX(p);
a_example.setY(q);
r=a_example.reslut();
}
那么你的r就应该是19了
…………
(说明 所有的类和方法都是public的)好了
我自己都觉得我很罗嗦了总之:oop就是把很多具有相同属性和对这些属性操作发方法的所有的事物抽象成一个类
我当初在学c的时候,要用一个字符窜,觉得很麻烦要用一个char的数组来表示
还要限制长度啊,利用指针啊那么这里我要使用一个字符窜的时候是不是涉及很多的数据还有对数据的操作(定义长度啊,使用指针啊等等)你想如果把这些数据和对数据的操作放在一个类中,多方便啊这就是你后来用的String数据类型了
今天你再用String 的时候你觉得像用int 一样爽
那么实际上String 就是一个类。。
你还这样写吗:char ch[10]={"'i',' ','l','o','v','e',' ','y','o','u'"};(哦,我疯了)
不,你这样写的:String ch="i love you";
欧,我的上帝,i love oop