(1)类和对象是面向对象程序设计中最基础,最重要的两个概念。
(2)在面向对象程序设计中,所有 *** 作都是以对象为基础的。
(3)程序中的对象 是对 现实对象的抽象。
1.2、什么是对象
现实对象包括可感知的物体,以及思维中的概念;
例如:
汽车客运被看做是一个对象;学校作为一个概念也可以看成一个对象;
现实对象
有个特点:属性 和 行为的整体
示例:一辆汽车具有车型、颜色 -》属性
并有启动,转向、刹车等-》行为
程序对象:
属性可以看做为数据;行为可以抽象为函数。
对象是:数据 和 函数 的集合。
对象是:一个完整的个体。
例如:
所有汽车都具有车型,颜色等属性,所有属性的个数相同,所有汽车都具有启动、转向、刹车等行为。
1.3、什么是类?
类:
类是指整个一类实物,一个类定义了一个模板;
类对 数据 以及 处理数据的方式(函数)进行封装;
汽车类:包括(汽车对象1、汽车对象2、汽车对象3)
类 -具体实例-》对象
类《-抽象----对象
类(class):
是将一组对象的 数据结构 和 *** 作相同的部分 抽出来 组成的集合,是 对象 的 共同特征 。
侧重点不同。面向对象的语言是将方法封装后形成CLASS,主体函数侧重的是对象的抽象和实现;而结构化C侧重的的是方法的抽象和实现。应该说结构化C是面向对象的语言的基础
结构化设计的思路:由上及下,逐级分解,每级求解,最终完成最初要求的功能
面向对象 的思路:先分析问题的本质,问题在现实中是由哪些个体(对象)来共同配合完成要所要求的活动,抽象出所有的对象,每个对象完成自己能做的部份,最终把问题中所有对象组合起来,就完成了所要求的求解。面向对象的思路更符合现实思考问题的思路,更自然。
#include <iostream>#include <vector>
#include <string>
using namespace std
class Vechile
{
public:
virtual void print(){
cout <<endl
<<"Name: " <<name <<endl
<<"Color: " <<color <<endl
<<"Type: " <<type <<endl
}
virtual void horn() = 0
protected:
string name
string color
string type
}
class Ship : public Vechile
{
public:
Ship( string n, string c, string t ){
name = n
color = c
type = t
}
~Ship(){}
void horn(){
cout <<"Ship~" <<endl
}
}
class Car : public Vechile
{
public:
Car( string n, string c, string t ){
name = n
color = c
type = t
}
~Car(){}
void horn(){
cout <<"Car~" <<endl
}
}
class Truck : public Car
{
public:
Truck( string n, string c, string t ) : Car( n, c, t ){}
~Truck(){}
void horn(){
cout <<"Truck~" <<endl
}
}
int main()
{
vector<Vechile*>vec( 3 )
vec[0] = new Ship( "ship", "white", "123" )
vec[1] = new Car( "car", "black", "456" )
vec[2] = new Truck( "truck", "blue", "789" )
for ( int i = 0i <3i++ )
{
vec[i] ->print()
vec[i] ->horn()
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)