⑴ 面向对象编程方法的要点
没有什么要点,别瞎想。自己多写写,等你写一万行以上了,感觉自然来。看书没用,多动手。
⑵ 面向对象程序设计期末大作业题目(C语言)
面向对象程序设计
期末大作业题目
第1题:设计一个学生学籍管理系统
学生信息包括:姓名、学号、性别和英语、数学、程序设计、体育成绩。
从键盘输入数据,建立数据文件student.dat。
实现对学生或学号查询,显示信息。
对所有学生,按照班级计算平均成绩。
分别按照英语、数学、程序设计和体育成绩排序生成结果文件。
程序清单:
第2题:自定义一个示意性的复数类
自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。请完成类定义并编制主函数,说明complex类对象,对定义的各成员函数进行调用。class complex{ double real; //复数实部 double imag; //复数虚部public: complex(); //无参构造函数 complex(double r, double i); //两参构造函数 complex addCom(complex c2);
//调用者对象与对象c2相加,返回complex类对象 void outCom ();
//输出调用者对象的有关数据(各分量) }; 进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。
程序清单:
第3题:设计一个模拟电信计费程序
假设电信计费标准:固定电话长途话费0.02元/秒,固定电话本地话费0.06元/分,无线电话长途话费1.00元/分,无线电话本地话费0.60元/分,无线电话接听话费0.50元/分。
源数据文件中存放:电话号码,电信服务类别,通话时间(秒)。
生成固定长途电话文件:长途电话号码和通话时间。
生成固定本地电话文件:本地电话号码和通话时间。
生成无线长途电话文件:长途电话号码和通话时间。
生成无线本地电话文件:本地电话号码和通话时间。
生成无线接听电话文件:接听电话号码和通话时间。
生成统计电信费用文件:电话号码、累计电信费用。
程序清单:
第4题:设计一个保留字(或关键字)的统计程序
建立保留字文件;
从源数据文件(C或C++语言程序)中,读取字符或字符串,与保留字文件中的保留字进行匹配比较,并统计计数。
输出两张表文件:保留字计数,扫描程序的次数,非保留字计数。
程序清单:
程序清单:
第5题:设计一个数据文件处理程序
源数据文件中含有字符和数字,从中读取数值数据(将连续的数字字符看成一个数值数据),和读取的单词(将连续的字母字符看成一个单词)分别存放在不同的文件中,并且排序后输出显示。
例如:源数据文件old.dat包括:asjjk 12rtr 345 dasdd9&k32*dfasfkjk##dasfdf897,
则生成的数据文件new1.data包括:12 345 9 32 897
单词文件new2.dat包括:asjjk rtr dasdd k dfasfkjk dasfdf
程序清单:
第6题:设计一个超长整数类
定义并实现超长整数类doublelong,要求如下:
64位数据长度,有符号
支持+、-、*、/运算
支持+=、-=、/=运算
支持cin>>和cout<<操作
你给多少钱?1500,全部帮你做下来,成交不?
⑶ 面向对象程序设计的重要概念有哪些
面向对象就是一种开发软件的方法,核心是对象.
1.什么是对象?
对象是一个在时间和空间上存在的事物。比如你电脑屏幕上显示的一个字符、一个人、一只狗、一个程序、一个int等等,他们都在时间上和空间上存在。
2.什么是类?
简单的说类是一组对象,这组对象共享相同的行为和属性以及相同的结构(就是定义类的结梗?
3.什么是封装?
封装这个术语有两层含义:
第一层含义是指的是将数据和处理使用这些数据的函数放在同一个结构里;
第二层含义指的是将一个对象或者一个模块的复杂的、易变的部分隐藏起来,提供一个简单的、固定的对外借口。
4.什么是继承?
继承是一种层次结构,这种层次结构描述了“是一种”关系(如:玫瑰是一种花)或者实现了某种程度的代码重用.
5.什么是组合?
组合是一种层次结构,这种层次结构描述了“有”关系,包括物理的和逻辑的.比如人有手,有脚,这就是物理的组合;你有一块钱,这是逻辑的组合,因为钱不是你的组成部分。
6.什么是多态?
多态指的是一个名字,可以代表一些不同的对象,只要这些对象有共同的基类即可,这样有这个名字所代表的对象可以以不同的方式来响应同一个消息了。
如:
class Person {
public:
virtual void speek() = 0;
virtual ~Person() {}
};
class Chinese : public Person {
public:
void speek() {
std::cout << "你好" << std::endl;
}
};
class English : public Person {
public:
void speek() {
std::cout << "Hello" << std::endl;
}
};
void go(Person &s) {//这里的s可以代表Chinese、English的对象
s.speek();
}
int main() {
Chinese c;
English e;
go(c);
go(e);
std::cin.get();
}
好了,其他的不讲了。有疑问的可以...
建议看一下国外的计算机教材。
其实还有很多啊。。。 自己找本国外教材看看,不是那么枯燥的。。。
⑷ C语言的重要内容是什么
清华谭浩强编《c语言程序设计》一书中语言最重要的知识点是:运算符、数据类型、常量与变量、字符串、函数、指针等。
在这本书中,保留了《C程序设计》一书的特点:体系合理、逻辑清楚、例题丰富、通俗易懂。同时又根据C语言新标准的规定,对该书进行了改写,使之符合当前的需要。
(4)c面向对象程序设计复习重点扩展阅读:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
⑸ 《C++程序设计》中简述面向对象方法的出发点和基本原则
1.编程模型
所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.
第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.
第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.
2.抽象
面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.
管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.
面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.
/* (我的理解)
*计算机是一个实体,我要输入字符,显示器显示出来,那么
*计算机(对象).输入(键盘属性).显示(显示方法)
*使用分层来引用,操作.而不用管计算机内部如何处理.
*只要有计算机对象,它就能响应我的操作,而我敲键盘,
*计算机对象就把这个消息传给屏幕,屏幕显示.
*/
计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.
3.封装
封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.
在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.
由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.
4.继承
继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性.
继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.
5.多态
多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.
6.封装,继承,多态的组合使用
在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车
从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.
从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.
从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).
这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序