要开发真正实用的软件,最需要的知识是什么?大学已经学了一年的面向对象的思想是什么程序设计和算法数据结构,但是只

求翻译,翻译不好没关系,大体意思对就行,有悬赏哦!本文首先介绍了MRS系统的开发实现步骤和面向对象的程序设计的诸多概念,然后以“文档管理系统”为例,按照上述开发步骤,逐一_百度作业帮
求翻译,翻译不好没关系,大体意思对就行,有悬赏哦!本文首先介绍了MRS系统的开发实现步骤和面向对象的程序设计的诸多概念,然后以“文档管理系统”为例,按照上述开发步骤,逐一
求翻译,翻译不好没关系,大体意思对就行,有悬赏哦!本文首先介绍了MRS系统的开发实现步骤和面向对象的程序设计的诸多概念,然后以“文档管理系统”为例,按照上述开发步骤,逐一介绍了该系统的系统分析,系统设计和系统实现。在系统分析中以模块功能结构图,系统分析说明书和数据流程图的形式,确定了系统的基本框架,然后用E—R图说明了系统的库表结构,并对各功能模块的特点做了具体分析,然后论文从实际变量,主要控件,重要事件3个方面分析了系统中有代表性的父类窗口。并对与之相应的继承窗口也做了简要的说明。再附录中给出本系统库表结构的详细说明和窗口在运行时的形态。
This article first introduced the MRS system development realization step and face object programming many concepts, then take "the documents management system management system" as the example, according to the above development step, introduced this system system analysis one by one, the system design and the system realization. In the system analysis by the module function structure drawing, the system analysis instruction booklet and the data flow chart form, had determined the system bare bone, then descriptive note understands the system with E □the R the storehouse table structure, and has made the concrete analysis to various functions module characteristic, then the paper from the actual variable, mainly controls, the important event 3 aspects analyzed in the system to have the representative father class window. And to corresponding inherited the window with it also to give the brief explanation. Again in the appendix produces this system storehouse table structure the specify and the window in movement time shape.面向对象程序设计 学习这门课程需要什么基础吗?_百度知道
面向对象程序设计 学习这门课程需要什么基础吗?
面向对象程序设计 学习这门课程需要什么基础不?标准C学了,正在学离散数学,想同时把面向对象程序设计也学了,不知道需要什么基础不?
有什么视频教程推介吗?用哪个大学的视频教材好?
提问者采纳
不需要其他的基础知识了学习期间面向对象语言主要分java和c++两类。但如果是在学校期间,时间充裕的话推荐学习c++,能更加了解底层的操作,然后再去学习java。最后可以学习上层应用等。视频的话 也主要是c++和java的了,这些视屏很多的,你可以上emule(电驴)上搜索,有很多不错的视频(看视频的就不用找大学的视频教程,真正上课的时候就没几个人听,可见大部分老师讲的也不咋的)
提问者评价
正准备学C++的,因为是电子电业的,上位机编程用VC++!谢谢哈!
其他类似问题
为您推荐:
其他1条回答
既然已经学过C了学C++会很容易的,相信自己一定能够做好,就不要那么多废话!视频教程去网易学院找找应该有吧。
面向对象程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您已经赞过此文了。
Python from Scratch:面向对象程序设计
发表时间:浏览量:9922评论数:0挑错数:0
Python from Scratch:面向对象程序设计
今天我们将深入研究面向对象程序设计(OOP)。OOP是组织你的代码的一种有力方式,很好的理解这一概念的背后原理可以帮你好好的利用(get the most out of&)你的代码。
什么是面向对象程序设计?
Python最初就是设计为面向对象程序语言,但是“面向对象”到底是什么意思呢?
关于面向对象有许多定义,然后你随便花几个小时能解释这一概念,但是我给一个快速的概念。
大体上说,面向对象编程就是指在编程中,我们要操作的对象比起逻辑更加重要。一般来说,一个程序就像是食谱一样,你根据说明从开始到结束来完成一项任务。这种方式很好,对于大多数简单的程序。这种方式通常也被称为过程式编程。
另一方面,当程序变得越来越复杂和麻烦时,当逻辑以一种面向过程的方式写时,会变得越来越扭曲和难以理解。这个时候面向对象的方式就能解决这个问题。
当我们讨论面向对象方法时,我们需要做的是将对象处于整个过程的中心,而不是简单的将它们作为信息的容器。首先,我们定义对象为我们想要操作的,并且定义它们之间的关系如何,然后我们通过逻辑将它们呈现出来使程序工作。
当我们谈论对象时,我可以说各种各样的事情。一个对象可以代表一个人,或是一个公司,或是其它更抽象的东西,例如电脑界面的一个按钮。
在这个介绍里,我们不准备所有的内容,因为我们整晚都会呆在这里,但是在最后,我希望你们会深刻的理解这些概念,能够在Python程序中用到一些简单的面向对象方法。更好的话,这些概念和其它编程环境中的概念类似。这些知识可以很好的过渡过去。
我之前也提到过了,当我们使用面向对象方法时,首先要定义我们需要使用的对象。我们首先要做的就是在一个类中定义属性。你可以将类想象成一个模版;对象可以通过这种方式定义。每一个对象属于一个类,然后集成这个类的属性,但是一个类下的每个对象都单独的行动。
最为一个简单的例子,你有一个名为‘person’的类,有age和name属性,然后对象可能是一个单独人。这个有个名字'Andy'和年龄'23',但是你可以类似的有另一个人属于同一类名字是'Lucy',年龄是18。
没有在实际中看到,很难去理解这些概念,那么来点实际的代码。
定义一个类
为了定义一个类我们使用'class',后面紧跟着类的名字。这里我定义一个类叫做'pet'。在这个类的后面是冒号,那么任何包括在这个类里内容都要缩进。然而,这个类没有括号:
class&pet:&&
那么我们得到了一个类,但是没有任何内容这个类是无用的。开始,我们给它些属性。为此,你只需要在类中定义一些属性,我准备定义number of legs。通常,你可以命名你的变量,这样可以容易的说出它们是什么。我们就称它为'number_of_legs'。我们需要定义一个值,否则我们会得到一个错误。这里我们定义为0。
class&pet:&&
&&&&number_of_legs&=&0&&
实体和成员变量
一个类不是你可以直接操作的,首先我们要定义这个类的一个实例。我们可以将这个实例存储在一个变量里。在这个类的外面,我们定义一个类的实例,并将它存储在变量'doug'。如果要定义这个类的新实例,你只需要输入这个类的名字,然后是括号。关于这一点,你不要担心括号,但是往后,你会发现要加上括号是因为它们像是函数,通过这种方式当你第一次定义实例时可以传递变量。
class&pet:&&
&&&&number_of_legs&=&0&&
doug&=&pet()&&
现在我们有了这个类的实例,我们该如何使用和控制它的属性?为了使用这些对象的属性,首先要告诉Python我们指的什么对象,于是我们首先输入'doug'。然后,我们输入一个点表明我们指向的一些东西包含在doug实例中。在点号后,我们加入变量的名字。如果我们使用number_of_legs变量,那么如下:
doug.number_of_legs &
我们可以像控制其它变量一样控制它。这里我们假定doug是一条狗,然后定义变量值为4.
为了控制变量,我们可以像控制其它变量一样控制它,但是使用doug.number_of_legs作为变量名,让我们在下一行输出doug有多少条腿,所以代码如下:
class&pet:&&
&&&&number_of_legs&=&0&&
doug&=&pet()&&
doug.number_of_legs&=&4&&
print&"Doug&has&%s&legs."&%&doug.number_of_legs &&
如果你运行以上代码,你会看到它打印出来。它定义了'pet'类,定义了这个类的新实例,然后将它存储在变量'doug'里,然后在这个实例里,分配给它从类中继承的变量number_of_legs值为4。
至此我们可以看到一个非常简单的例子,你可以开始建立友好的数据结构,然后可以清晰容易的使用。
好,以上只是类和对象的基础,但是目前我们仅仅可以使用类作为数据结构,或是变量的容器。这很好,但是当我们开始完成更复杂的任务使用这些我们需要操作的数据,我们需要介绍一些逻辑。我们可以使用方法来这样做。
方法,本质上来说,是包含在类里的函数。你定义方法的过程和定义函数是一样的,区别是你将方法放在类中,它属于这个类。如果你想要调用这个方法,你要首先调用这个类的对象,就像我们之前操作变量一样。
接下来我会写一个简单例子在pet类中,让我们定义一个方法叫做'sleep',当它被调用时首先输出一个信息。就像函数一样,我将‘def’表示为‘define’,然后我会输入我想要定义的方法名。然后是括号和冒号,然后是新的一行。和往常一样,任何在方法里的内容都要缩进。
方法和函数的另一个不同点是:方法总是有一个argument,称为'sef'在括号之间。当Python调用一个方法,它实际上是将当前方法的对象作为第一argument。换句话说,当我们调用doug.sleep()时,Python实际上将对象'doug'作为一个argument给sleep方法。
我们会在以后看到为什么会如此,但是目前你需要知道,在方法里,你总是要包括一个叫做'self'的argument在list中。如果你不包括那个argument,你会得到错误,因为Python要传入一个argument,然后方法会说,hey,我没有得到任何argument,你是要说什么?这和你试图传递argument给一个函数不接受任何argument。
那么目前我们的代码如下:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&&&
doug&=&pet()&&
在方法里,我们会写一个输出命令如下:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&&&&&&&
doug&=&pet()&&
现在,如果我们想要使用这个方法,我们只要使用这个类的实例指向它。就像number_of_legs变量一样,我们写下实例的名字,然后是一个点号,然后是这个方法包括括号。注意我们调用sleep没有使用argument,但是Python会添加它自己到这个argument,那么我们会使用相同数量的arguments。
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&&&&&&&
doug&=&pet()&&
doug.sleep()&
如果你运行这个代码,你会看到它打印出我们写的信息。
很好,那么接下来我们要写一个新方法来打印出这个pet有多少条腿,来演示如何让使用方法来在类中操作数据,以及演示为什么我们需要包括‘self’。让我们定义一个新的方法叫做‘count_legs’。
记住当我们在类的外面调用number_of_legs时,我们需要使用‘doug.number_of_legs’而不仅仅是'number_of_legs'。如果我们想要知道在变量里包括什么,我们需要定义实例包含变量指向它。
然而,我们不知道这个实例称为什么,于是我们使用‘self’变量。‘self’只是代表当前被控制的对象。于是,为了控制当前类的变量,你只需要向下面这样:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
&&&&&&&&&&
doug&=&pet()&&
doug.number_of_legs&=&4&&
doug.count_legs()&&
事实上,当你运行方法时self会被对象名字替换,那么当你调用‘doug.count_legs()’,self会被‘doug’替换。为了演示在多个实例中是如何运行的,让我们添加第二个实例,代表另一个pet,成为‘nemo’:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
&&&&&&&&&&
doug&=&pet()&&
doug.number_of_legs&=&4&&
doug.count_legs()&&
nemo&=&pet()&&
nemo.number_of_legs&=&0&&
nemo.count_legs()&
这会打印出4和0个legs,就像我们期望的,因为当我们调用‘nemo.count_legs()’,slef被‘nemo’替换,而不是‘doug’。
通过这种方式,我们的方法会如我们的预期一样运行,因为‘self’会根据内容动态的改变,使我们可以在当前的对象下控制数据。
关于对象你需要记住的是它们就像函数一样,除了它们的第一个参数必须是’self‘,然后为了指向内部变量,你必须定义变量名为’self‘。
记住:你可以在方法里使用任何名字而不是’self‘。方法在这里的作用和我们将’self‘改为其它名字是一样的。使用’self‘是一种简单的方式,它对Python程序员很有用,因为它使代买更标准和易于理解,即使是别人写的代码。
一些更高级的特性:
现在我们已经学过基本的内容了,让我们看一下类的高级特性,看看如何使编程更容易。
接下来我们要讲的是继承。就像名字暗示的一样,在创建新的类时继承要根据父类,使新类可以集成父类的一些特点。新类会得到父类的所有方法和变量。
让我们以pet为例。如果我们将‘pet’作为父类,我们可以创建一个子类继承pet类,这个子类可以是‘dog’或是‘fish,这个子类的一些特性依然是‘pet’,但是会更特殊点。dog是pet,它有所有pet应有的特性,例如它吃东西,睡觉,有年龄有腿。但是它也有一些作为dog的特性,比如说dog有fur,但不是所有的dog都有。一个dog会叫,但不是所有pet都会。
我们想要创建一个类代表dog。我们可以使用继承来从‘pet’中继承方法和变量,这样我们的‘dog’类会有‘number_of_legs’和‘sleep’。
现在我们会困惑为什么我们不将这些方法和类放到dog类中,而完全的忽略pet类?继承给了我们两点好处:首先我们想要一个对象是pet,但不是dog——其中一类pet,如果你想,你依然可以这样做。第二,可能以后我们想要添加第二类pet——例如鱼。我们可以将这个类继承pet,这样这两个类都会pet的所有内容,但同时它们都有自己的特性。
在这里我们会感到困惑,那么让我们写的更清晰点。首先我们写一个新类‘dog’,在类的名字和冒号之间,我们要添加括号,在其中我们添加需要继承父类的名字。
接下来我们给这个新类一个简单的方法,来演示这个类是如何工作的,我准备添加‘bark’方法,然后会打印出‘woof’:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
class&dog(pet):&&
&&&&def&bark(self):&&
&&&&&&&&print&"Woof"&&
那么,我们创建这个类的一个实例:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
class&dog(pet):&&
&&&&def&bark(self):&&
&&&&&&&&print&"Woof"&&
doug&=&dog()&&
doug.bark()&&
就像我们期望的一样,doug barks。这很好,但我们没有看到新的内容,继承所做的是使所有pet的函数和变量对我们的‘doug’对象有用:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
class&dog(pet):&&
&&&&def&bark(self):&&
&&&&&&&&print&"Woof"&&
doug&=&dog()&&
doug.sleep()&&
然后sleep方法也可以正确的运行。事实上我们的doug对象属于‘pet’和‘dog’对象。为了确保变量会和方法一样,我们编写了以下代码:
class&pet:&&
&&&&number_of_legs&=&0&&
&&&&def&sleep(self):&&
&&&&&&&&print&"zzz"&&
&&&&def&count_legs(self):&&
&&&&&&&&print&"I&have&%s&legs"&%&self.number_of_legs&&
class&dog(pet):&&
&&&&def&bark(self):&&
&&&&&&&&print&"Woof"&&
doug&=&dog()&&
doug.number_of_legs&=&4&&
doug.count_legs()
你可以看到doug和之前的效果一样,展示了我们继承的变量。我们新的子类只是父类的特殊化,有一些额外的函数,但是保留了之前的函数。
来自无觅插件
Copyright & 2014 yeeyan.org
公司全称:北京译言协力传媒科技有限公司
公司地址:北京市朝阳区阜安西路望京SOHO-T1-A座-2202室
联系方式:010-
京ICP备号&&京公网安备99号21天学通ASP.NET教程(实用版)-讲述了面向对象的程序设计、ASP.NET内置对象、ASP.NET页面语法等知识-网络编程视频-星火视频教程
&&&&&&&&&&&&&&&21天学通ASP.NET教程(实用版)
名称:21天学通ASP.NET教程(实用版)分类:网络编程主讲:&&&&TAG:&&&&&&&&时间: 09:33收藏:&&
21天学通ASP.NET教程(实用版)相关介绍
星火教育提供的这部21天学通ASP.NET教程是asp.net的入门教程。认真观看并跟随学习,大家可以全面掌握搭建ASP.NET开发环境、C#语言基础、面向对象的程序设计、ASP.NET内置对象、ASP.NET页面语法、ASP.NET站点设计和常用服务器控件等一系列相关知识。ASP.NET是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序。ASP .NET的前身ASP技术,是在IIS2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了VisualInter Dev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。不过ASP的缺点也逐渐的浮现出来:面向过程型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。 解释型的VBscript或Jscript语言,让性能无法完全发挥。 扩展性由于其基础架构的不足而受限,虽然有COM元件可用,但开发一些特殊功能(如文件上传)时,没有来自内置的支持,需要寻求第三方控件商的控件。1997年时,微软开始针对ASP的缺点(尤其是面向过程型的开发思想),开始了一个新的项目。当时ASP .NET的主要领导人Scott Guthrie刚从杜克大学毕业,他和IIS团队的Mark Anders经理一起合作两个月,开发出了下一代ASP技术的原型,这个原型在1997年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是Java语言。不过它马上就被纳入当时还在开发中的CLR平台,Scott Guthrie事后也认为将这个技术移植到当时的CLR平台,确实有很大的风险(huge risk),但当时的XSP团队却是以CLR开发应用的第一个团队。
┆ 版权所有:星火视频教程网 | 苏ICP备号 | Email:

我要回帖

更多关于 面向对象的思想是什么 的文章

 

随机推荐