篇一 :面向对象方法学习心得

《面向对象方法》学习心得

其实,面向对象的名词是相对面向过程而产生的,我们没必要去追究它们之间到底为什么这样叫,也没必要去详细讨论那种语言属于面向过程的,而那种语言又是面向对象的,实际上它们都是编写程序的一种思维方式,也不属于那种固定的概念,是一种思想.但实际上面向对象是比过程好的多,它使人们更容易去管理各个模块,而不必去想模块之间的关系。

面向对象方法作为一种新型的独具优越性的新方法正引起全世界越来越广泛的关注和高度的重视,它被誉为"研究高技术的好方法",更是当前计算机界关心的重点。十多年来,在对OO方法如火如荼的研究热潮中,许多专家和学者预言:正象70年代结构化方法对计算机技术应用所产生的巨大影响和促进那样,90年代OO方法会强烈地影响、推动和促进一系列高技术的发展和多学科的综合。 在OO方法中,对象和传递消息分别表现事物及事物间相互联系的概念。类和继承是是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和类的继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态联编和实体的多态性,从而构成了面向对象的基本特征。

实际上在过程设计中我们把更多的精力花费在模块之间的衔接上,如果一个模块改动,我们就会去想其他的是否会受到影响,这样一路想下去,就乱了,越想越糊涂,面向对象强调“强内聚,弱耦合”事实上过程设计中也提供函数。其实回过头来想,函数也是一个小小的调用模块,也有接口就是传递参数,而对象是把函数集中在类中,提供了一种方法,而调用方法的形式类调用函数,类为我们提供了更多的模块,算是虚拟的模块,我们只有new一个新的实际对象在内存中表现出来,它才产生了个实实在在的东西。回过头来我们在对对象进行各种操作,这样相对来说就不必麻烦我们去调用个函数而费神了,而更绝的是类把变量也塞进来了,这样变量也就成了对象本身的属性,这样我门在过程中的变量赋值和调用函数就变成了对对象的属性的方法的操作,其实都一样,唯一一点区别就是类是虚拟的需要转化成实在的对象才能进行操作,别的都一样,把对象封装在一起提供一些接口,拱我们使用就行了,这样对模块或者说对象的修改不会影响

…… …… 余下全文

篇二 :学习心得《面向对象》

面向对象课程学习心得

这学期的面向对象课程对我来说是收获匪浅的一门课。通过老师课件的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。

面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。 OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复用、可扩展、可维护性、弹性。

OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。

面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。

在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。

…… …… 余下全文

篇三 :java面向对象的学习心得

Java面向对象的学习心得

大三的时候学校组织我们去苏州NIIT参加四个月的java实训,我开始系统的学习期java,之前大学的时候学的比较宽泛,没有专门的正对java的学习。

首先我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。

我对Java的面向对象的特性琢磨良久,自认为有所领悟,也开始有意识的运用OOP风格来写程序,然而还是经常会觉得不知道应该怎样提炼类,面对一个具体的问题的时候,会觉得脑子里千头万绪的,不知道怎么下手,一不小心,又会回到原来的思路上去。

举个例子,要发广告邮件,广告邮件列表存在数据库里面。倘若用C来写的话,一般会这样思考,先把邮件内容读入,然后连接数据库,循环取邮件地址,调用本机的qmail的sendmail命令发送。

然后考虑用Java来实现,既然是OOP,就不能什么代码都塞到main过程里面,于是就设计了三个类:

一个类是负责读取数据库,取邮件地址,调用qmail的sendmail命令发送; 一个类是读邮件内容,MIME编码成HTML格式的,再加上邮件头;

一个主类负责从命令读参数,处理命令行参数,调用发email的类。

把一件工作按照功能划分为3个模块分别处理,每个类完成一件模块任务。

仔细的分析一下,就会发现这样的设计完全是从程序员实现程序功能的角度来设计的,或者说,设计类的时候,是自低向上的,从机器的角度到现实世界的角度来分析问题的。因此在设计的时候,就已经把程序编程实现的细节都考虑进去了,企图从底层实现程序这样的出发点来达到满足现实世界的软件需求的目标。

…… …… 余下全文

篇四 :学习面向对象体会小结2

C#面向对象编程基础总结信息工程系

面向对象的程序设计

3.1面向对象的程序设计

在面向对象的概念中,类是封装数据的基本单位。类是一组具有相同数据结构和相同操作的对象的集合,用来定义对象(实例)可执行的操作(如:方法、事件和属性)。类的实例是对象,可以通过调用对象的属性、方法和事件,用来访问对象的功能。

3.1.1 类的组织结构与声明

3.1.1.1结构与声明

【附加声明】【访问修饰符】class 类名称【:基类】……【接口序列】

{

【字段声明】

【构造函数】

【方法】

【事件】

}

3.1.1.2 调用

类名.字段名;||this.字段名;【这里的this指当前实例】;

3.1..1.3 修饰符

Public :

Private:

Protected:

Internal:在当前项目中都可以存取。该访问权限一般用于基于组件的开发。(因为他可以使组件以私有的方式工作,而该项目外的其他代码无法访问)。

Protected internal:只限于当前项目,或者从该项目的继承类才可以存取。

Partial:局部类型,类的定义和实现可以分布在多个文件中,但都要使用partial标注。

3.1.2方法

方法(Method)是一组程序代码的集合,每个方法都有一个方法名,便于识别和让其他方法调用。

注意:

1. 方法的定义必须放到类中。

2. 方法后边没有参数可以,但是必须有小括号,如果有参数就用逗号隔开。

3. Return 是返回一个函数值,有且只有一个。

4. 有void了就不用return了,如果没有void就必须有return。

声明:访问修饰符返回值类型方法名称(参数序列)

{

语句序列;

}

(1) 方法中参数传递:

参数类型参数名

//只要注明参数类型和参数名即可。当方法被调用时,便会为每个值类型参数分配一个新的内存空间。在方法中更改参数的值不会影响到这个方法之外的变量。//

…… …… 余下全文

篇五 :C#面向对象学习心得

一、封装

这是一种隐藏信息的特性。拿本节引例来说,类CalculateDate 将数据结构与算法隐藏在类的内部,外界使用者无需知道具体技术实现细节即可使用此类。封装这一特性不仅大大提高了代码的易用性,而且还使得类的开发者可以方便地更换新的算法,这种变化不会影响使用类的外部代码。可以用以下公式展示类的封装特性:封装的类=数据+对此数据所进行的操作(即算法)。通俗地说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西。在面向对象理论中,封装这个概念拥有更为宽广的含义。小到一个简单的数据结构,大到一个完整的软件子系统,静态的如某软件系统要收集数据信息项,动态的如某个工作处理流程,都可以封装到一个类中。具备这种“封装”的意识,是掌握面向对象分析与设计技巧的关键。

二、继承

继承是面向对象编程中一个非常重要的特性,它也是另一个重要特性——多态的基础。现实生活中的事物都归属于一定的类别。在一些书中,将父类称为超类(super class)。“继承”关系有时又称为“派生”关系,“B 继承自A”,可以说为“B 派生自A”,或反过来说,“A 派生出B”。父类与子类之间拥有以下两个基本特性:

(1)是一种(IS-A)关系:子类是父类的一种特例。

(2)扩充(Extends)关系:子类拥有父类所没有的功能。

1.类成员的访问权限

面向对象编程的一大特点就是可以控制类成员的可访问性。当前主流的面向对象语言都拥有以下三种基本的可访问性:

(1)公有 public 访问不受限制。

(2)私有 private 只有类自身成员可以访问。

(3)保护 protected 子类可以访问,其他类无法访问。

由此可见,可以通过子类对象访问其父类的所有公有成员,事实上,外界根本分不清楚对象的哪些公有成员来自父类,哪些公有成员来自子类自身。小结一下继承条件下的类成员访问权限:

(1)所有不必让外人知道的东西都是私有的。

…… …… 余下全文

篇六 :达内学习心得:精心总结的面向对象

达内学习心得:精心总结的面向对象

参赛学员:方钱有

获奖奖项:二等奖

什么面向对象:

个人分析觉得:在程序设计里,面向对象是一种相对说法,相对于面向过程而言的;

面向“对象":即重点在于“对象";而面向过程:则重点在于“过程”,简单说:就是我我们看待事物在眼光上注重点不一样;比如说:我们评判一个女孩漂亮与否,有的人看重外表,有的人则看重“心灵”,只是侧重点不一样。

举个例子:把大象装进冰箱!

面向过程 面向对象 (注重一系列动作即过程) (注重动作所操作的承受者[“对象”])

“打开”冰箱 “冰箱”打开 “装入”大象 “大象”装入 “关闭”冰箱 “冰箱”关闭

类:通俗的说类就是“一类事物的简称”,并且这些事物至少具有一点“共同的”特征.比如说:动物就是一个类

对象:就是某一类中一个具体的(就是可以具体描述出来的)东西,比如:动物(类)里的“狗”就是一个对象。(个人觉得对象相对于类而言的,因为狗又可以分好多种,‘狗’相对于‘哈士奇’是一个类,‘哈士奇’是‘狗’类的一个具体对象)

在生活中就拿描述汽车来说,我们都知道汽车都有4个轮子; 都有跑的功能 可以如下描述:

类 汽车

属性: 4个轮

功能: 跑

那么怎么在Java中描述汽车这类呢?

class car{

int wheel=4;//属性: 4个轮

void run(){//方法(功能): 跑

…… …… 余下全文

篇七 :完成Java面向对象程序设计实验课的心得体会

Java面向对象程序设计实验课的心得体会 经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。

在实验课上,我们完成多个实验,在这个阶段的学习中,我从认识到熟悉,而后到能够自主运用。通过对Java的了解,我发现它确实有很多方便之处,它集抽象性、封装性、继承性和多态性于一体,实现了代码重用和代码扩充,提高了软件开发的效率。对于我们这个专业来说学好Java语言是很重要的,所以在实验的过程中我都尽力理解java编程思想、掌握基本技巧,尽量学到最多的知识。 学习程序设计的基本目的就是培养描述实际问题的程序化解决方案的关键技能,Java面向对象程序设计是一门实践性比较强的课程,在实际中,我们必须把理论和实践结合起来。在实验中,我们理解理论课上的知识,然后运用到实际的操作中,我们必须在现有的理论的基础上,进行实践。多次实验后,也让我看到了现在学习的一个很大弱点:只听不练,永远不会熟练运用;空记技巧,忽略思想,会在多变的习题中十分无奈。

Java思想:Java是一门面向对向语言,他定义一切都是对象 面向对象,就是面对现实;

现实中的一切都是对象,他们有分类,就产生了“类”; 他们有不同,类和类之间的不同,使用类来区分; 同一个类中不同的对象的区别,使用成员区分。

所以,面向对象的内部逻辑是分类。 面向对象编程思想就象数学上的一些概念,如:空间、群、环、域等

原始的编程思想就象古典数学,人们只在一个集合上探讨问题,没有系统的方法(即运算)定义,于是仁者见仁、智者见智,这样在一定程度上造成了理论的一种混乱局面,不利于科学的发展。于是近代数学向公理化发展,这是什么意思呢?就是说,人们除了在限定论域(即上面的集合,面向对象也有此概念)外,还在此论域上加进了一套通用的、公认的运算(方法);集合加上集合上定义的运算就构成了数学上的空间、群等,在计算机领域里,就变成为“类”。这种集合上定义了操作的东西利用起来就方便多了,这使得人们讨论问题时都在给定集合的运算能力上下工夫,即有通用性可事半功倍。

…… …… 余下全文

篇八 :面向对象分析与设计UML课程学习报告

面向对象分析与设计(UML)

课程学习报告

题目:校园二手交易平台

班级:    110807软件工程

姓名:                  

学号:                  

指导教师:              

日期:                  


一、使用UML工具分析与设计软件的心得与实践总结

首先,在我们一开始确定软件的功能与非功能需求的时候就出现了问题,因为我们做的是校园二手交易系统,所以我们必须确定要实现的功能需求有哪些,怎么样才能做出一个贴合实际的二手交易系统?通过小组成员间的讨论和思考,最终我们确定了软件的几个重要功能:会员注册登录、管理员登录、二手商品发布、商品分类搜索、发布商品求购信息和管理员的管理功能等,确定了软件的设计方向;其次是在用例模型构建和细化的时候,由于我们对用例图和时序图的理解不够深刻,导致我们画的用例图和时序图出现了一些常识性和逻辑性的问题,最终在老师的指导下我们改正了这些错误;最后出现的问题是在详细设计的时候,因为我们对DAO类认识不够,所以使得我们在画类图的时候出现了问题,但是经过和别的小组进行讨论,最终还是解决了这个问题。其实,在设计过程中还出现了其他的一些问题,但是基本上可以通过自己的思考和成员间的讨论解决。

…… …… 余下全文