第3章 类和对象(二)

合集下载

类和对象的概念课件

类和对象的概念课件
软件对象
软件中的对象可以通过类和对象的方式进行组织和管理。例如,一个窗口类可以 包含窗口的属性,如大小、位置等,同时可以通过实例化创建具体的窗口对象, 进行软件的交互操作和管理。
REPORT
CATALOG
DATE
ANALYSIS
SUMMAR Y
06
总结与回顾
本课程的主要内容回顾
对象的创建
通过类创建具有特定属性和行 为的实例对象。
REPORT
CATALOG
DATE
ANALYSIS
SUMMAR Y
05
类和对象的实际应用
类和对象在游戏开发中的应用
角色扮演类
在游戏开发中,角色扮演类用于创建游戏中的角色,包括玩 家角色、敌人角色等。这些角色具有各自的特点、属性和技 能,通过类和对象的编程方式,可以方便地管理和控制游戏 中的角色。
继承
子类继承父类的属性和方法, 并可以扩展或修改它们。
类的定义
类是对象的抽象,定义了对象 的属性和方法。
封装
将数据和操作数据的函数封装 在对象内部,实现数据隐藏和 信息隐藏。
多态
通过接口或继承实现不同对象 对同一消息的响应。
类和对象在实际项目中的应用案例分享
面向对象编程的优势
01
类和对象有助于组织和管理代码,提高代码可读性和可维护性,
掌握类的基本概念和定义 方法
学习如何使用面向对象编 程语言实现类和对象
理解对象的概念及其与类 的关系
了解面向对象编程的优势 和应用场景
学习方法建议
理论与实践相结合
通过实际编程案例来加深对类 和对象概念的理解。
主动思考与反思
在学习过程中不断思考类和对 象的概念,以及如何在实际项 目中应用。

第3章 类与对象(新修改)

第3章 类与对象(新修改)


一、方法的定义


1、方法体 方法体是对方法的实现。它包括局部变量的声明以及 所有合法的Java语句。 如果局部变量的名字和类的成员变量的名字相同,则 类的成员变量被隐藏,如果要将该类成员变量显露出 来,则需在该变量前加上修饰符this,如【例3.3】所 示。
24
一、方法的定义


例3.3类成员变量与局部变量同名时的操作示例
25
一、方法的定义
this.z=c; //给类成员变量z赋值 } String getXYZ() { return "x="+x+" y="+y+" z="+z; } public static void main(String args[]) { TestClass t=new TestClass (); System.out.println("Before changVar:"+t.getXYZ()); t.changeVar(10,10,10); System.out.println("After changeVar:"+t.getXYZ()); } }

5
三、 面向对象程序设计特点


1.封装性 封装是指把类的基本成分(包括数据和方法)封装在 类体之中,使类与外界分隔开。 封装性减少了程序各部分之间的依赖性,降低了程序 的复杂性,由于隐藏了其内部信息的细节,使内部信 息不易受到破坏,安全性有了保证,同时也为外界访 问提供了简单方便的界面。
6

18
二、实例变量与类变量

Java变量可分为两种类型,一种是“成员变量”( member-variable),另一种是“非成员变量”(nonmember-variable),即局部变量。这两种变量都位于 Java类内,只不过是非成员变量还必须位于类内的方 法中,如图3-2所示。

《类和对象 》课件

《类和对象 》课件
2 什么是对象?
对象是类的实例,它具有类定义的属性和行为。每个对象都是独一无二的,并可以根据 类的定义进行操作。
类的组成部分
属性
类可以定义一些属性, 用于描述类的特征和状 态。属性可以是变量或 常量,表示对象的各种 特性。
方法
类可以定义一些方法, 用于执行特定的操作。 方法可以访问和修改对 象的属性,并实现类的 功能。
2 this关键字的使用
this关键字可以用于解决变量名冲突问题,区分局部变量和类的成员变量。它还可以用于 在构造方法中调用其他构造方法。
类与对象编程案例演示
1
案例1:图书管理系统
通过类来表示图书、图书馆和借阅者,并实现借书、还书和查询功能。
2
案例2:汽车租赁系统
通过类来表示汽车、租车公司和租客,并实现租车、还车和计费功能。

案例3:学生管理系统
通过类来表示学生、课程和学校,并实现成绩录入、查询和统计功能。
在软件开发中的应用
继承和多态是面向对象编程的重要 概念,它们在软件开发中广泛应用 于代码的组织和设计。
对象的实例化与构造方法
对象的实例化是通过创建类的实例来使用该类。构造方法是用于创建对象的特殊方法,它在实例 化对象时被自动调用,用于初始化对象的属性和状态。
创建对象
通过类的构造方法来创建对 象,为对象分配内存并初始 化其属性。
《类和对象》PPT课件
欢迎来到《类和对象》PPT课件!本课件将带你深入了解类和对象的基础概念, 探索类在软件开发中的应用,并演示对象的实例化与构造方法。让我们开始 这个令人兴奋的学习之旅吧!
类和对象基础概念
1 什么是类?
类是面向对象编程的基本概念,它是一种抽象数据类型,用于描述具有相同属性和行为 的对象的集合。

第3章补充案例

第3章补充案例

案例
一、案例描述
1、考核知识点
编号:2
名称:类和对象
2、练习目标
掌握类定义的方式
掌握如何在类中定义成员变量和成员方法
3、需求分析
在面向对象的思想中最核心就是对象,在程序中创建对象的前提是需要定义一个类。为了让初学者掌握类的定义方式,本案例将设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄。
}else{
age =a;
}
}
void speak() {
System.out.println("我的名字是" + name + ",今年" + age + "岁");
}
}
public class Example02{
public static void main(String[] args) {
Student s1 = new Student();
4、设计思路(实现原理)
1)编写测试类Example02,将属性age的值设为-30,演示不合理现象。
2)对Student类进行修改,将name和age属性使用private修饰,然后定义getName()、setName(String n)、getAge()和setAge(int a)四个对外访问name和age的方法。
图3-5运行结果
从运行结果可以看出,由于实现了Division类的封装,在setDivisor(int mDivision)方法中对传入的值进行检查,从而避免程序中出现除数为0的错误。
案例
一、案例描述

第3章补充案例模板.doc

第3章补充案例模板.doc

第3章补充案例案例3-1 定义学生类一、案例描述1、考核知识点编号:00103002名称:类和对象2、练习目标➢掌握类定义的方式➢掌握如何在类中定义成员变量和成员方法3、需求分析在面向对象的思想中最核心就是对象,在程序中创立对象的前提是需要定义一个类。

为了让初学者掌握类的定义方式,本案例将设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄。

4、设计思路〔实现原理〕1〕使用class关键字定义一个表示学生类型的类,类名为Student。

2〕在Student类中定义两个成员变量name和age,分别用来表示姓名和年龄。

其中,name的数据类型为String,变量age的数据类型为int。

3〕在Student类中定义一个表示说话行为的speak()方法,用于输出学生的姓名和年龄。

二、案例实现class Student{String name;int age;void speak() {"我的名字是 "+name+",今年 "+age+"岁");}}三、案例总结1、Java语言严格区分大小写,class和Class是不同的,在定义类时只能使用class关键字2、在Student类中,成员变量name是String类型,String表示一个字符串,后面的章节会详细讲解3、思考一下:自己定义一个手机(Phone)类,在类中定义品牌(brand)和价格(price)属性,定义打的call()方法,代码如下所示public class Phone {String brand;double price;void call(){}}案例3-2 同一对象被多个变量引用一、案例描述1、考核知识点编号:00103003名称:对象创立与使用2、练习目标➢掌握如何创立类的对象➢掌握如何使用两个或者多个变量引用同一个实例对象。

类和对象的概念PPT课件

类和对象的概念PPT课件

14
2.3 使用代码窗口
2.3.1 代码窗口的组成
事件名列表
Hale Waihona Puke 类名列表2021/3/12
15
2.3 使用代码窗口
2.3.2 使用代码窗口
自动完成功能
语法检查功能
2021/3/12
16
2.4 Visual Basic .NET的编程步骤
程序设计的基本步骤如下:
(1) 创建新项目 (2) 添加控件 (3) 修改对象属性 (4) 编写事件代码 (5) 运行程序 (6) 修改完善 (7) 生成可执行文件
2021/3/12
13
2.2 窗体与基本控件
2.2.9 焦点和Tab键序
焦点是控件接收用户鼠标或键盘输入的能力。当对象具有焦点时, 可接收用户的输入。在Microsoft Windows环境中,任一时刻都 可以同时运行多个程序,但只有具有焦点的应用程序才有活动标题 栏(蓝色标题栏),也只有具有焦点的程序才能接受用户输入(键 盘或鼠标的动作)。
所谓Tab键序指的是在用户按下〈Tab〉键时,焦点在控件间移 动的顺序。每个窗体都有自己的Tab键序。缺省状态下Tab键序与 建立这些控件的顺序相同。例如在窗体上建立三个命令按钮C1、 C2和C3,程序启动时C1首先获得焦点。当用户按下〈Tab〉键时 焦点依此向C2、C3转移,如此这般往复循环。
2021/3/12
制对20象21/。3/12
3
2.2 窗体与基本控件
2.2.1 创建窗体
窗体就是应用程序中的一个窗口。当新建一个“Windows应用 程序”时,就会显示一个缺省的窗体,该窗体包含了一些 Windows应用程序最常用的元素,如标题栏、控制框、最小化、 最大化和关闭按钮等。

python面向对象程序设计的概念及类和对象的关系

python面向对象程序设计的概念及类和对象的关系

python面向对象程序设计的概念及类和对象的关系1. 引言1.1 概述Python是一种高级编程语言,它支持多种编程范式,其中包括面向对象程序设计(Object-oriented Programming, OOP)。

面向对象程序设计通过将数据和操作封装在一起形成对象,以模拟现实世界中的实体和其交互方式。

在Python 中,我们可以使用类和对象来实现面向对象编程。

1.2 文章结构本文将详细介绍Python面向对象程序设计的概念以及类和对象的关系。

首先,我们会简要介绍面向对象编程的基本概念,包括封装、继承和多态。

然后,我们会深入讨论类和对象的基本概念,并探讨它们之间的关系。

接下来,我们会通过几个具体的示例来说明类和对象在实际应用中的作用。

最后,我们会得出结论并对文章进行总结。

1.3 目的本文旨在帮助读者深入理解Python中面向对象编程的概念及其应用场景,并能够清晰地认识到类与实例化对象之间、类之间以及对象之间的关系。

通过学习本文内容,读者将能够更加灵活地运用面向对象编程思想解决问题,并提高代码复用性和可维护性。

2. python面向对象程序设计的概念:2.1 面向对象编程简介面向对象编程(OOP)是一种常用的软件开发方法,它将现实世界中的事物抽象为具有属性和行为的对象。

在Python中,一切皆为对象,从基本数据类型到复杂的数据结构和函数都可以被看作是对象。

面向对象编程主要关注以下几个概念:封装、继承和多态。

通过封装,我们可以将相关的属性和行为组合在一个类中,并对外提供接口进行访问;通过继承,子类可以继承父类的属性和行为,并且还可以根据需要添加新的属性和行为;通过多态,不同类型的对象可以以相同的方式进行处理。

2.2 封装、继承和多态封装是将数据与操作数据的方法相结合。

在面向对象编程中,我们可以将相关的属性和方法封装在一个类中,并对外部提供公共接口以供使用。

通过封装,我们可以隐藏内部实现细节,并提高代码复用性。

管理信息系统(第二版)课后习题答案--第3章答案

管理信息系统(第二版)课后习题答案--第3章答案

管理信息系统(第二版)课后习题答案--第3章答案第3章参考答案一、单项选择题1.A2.B3.B4.D5.D6.C7.C8.A9.A10.D11.A12.C13.D14.D15.C16.D 17.C18.A19.B20.D21.B22.D23.D 24.B 25.D二、多选题1.ABD 2.ABD 3.AC 4.AC 5.ABC三、填空题1.自上而下,自下而上2.不能从整体上考虑问题3.整体性和逻辑性强4.小,大中5.结构化设计6.系统设计,系统实施7.自下而下8.面向对象的分析,面向对象的设计、面向对象的编程9.系统分析、系统设计、系统实施、系统运行维护和评价四、判断改错题1.F结构化生命周期法虽然开发周期较长,但目前还是一种比较普遍使用的方法。

2.T3.F在结构化生命周期法中,系统规划和分析是所有工作中的重中之重。

4.F原型法和生命周期法虽然思想不一样,但可以结合使用,先用原型化的过程获取需求,然后按照生命周期法的步骤进行设计实施。

5.T6.F系统分析阶段建立的是系统的逻辑模型。

7.T五、名词解释1.生命周期:任何系统都会经历一个由发生、发展、成熟、消亡、更新换代的过程,这个过程叫做系统的生命周期。

2.原型法:原型法是指系统开发人员在初步了解用户的基础上,借助功能强大的辅助系统开发工具,快速开发一个原型(初始模型),从而使用户及早地看到一个真实的应用系统。

在此基础上,利用原型不断提炼用户需求,不断改进原型设计,直至使原型变成最终系统。

3.对象:对象就是客观世界中的任何事物在计算机程序世界里的抽象表示,或者说,是现实世界中个体的数据抽象模型。

4.结构化系统开发方法:用系统工程的思想和工程化的方法,按用户至上的原则,结构化,模块化,自顶向下的对系统进行分析与设计。

具体来说就是先将整个信息系统开发过程化分为若干个独立的阶段,然后各阶段严格按步骤完成开发任务。

5.类,又称为对象类,是具有相同或相似结构、操作和约束规则的对象组成的集合,是一组对象的属性和行为特征的抽象描述。

第3章类与对象

第3章类与对象

3.1.1 面向对象术语
• 3.继承 • OOP的主要优点之一是使用继承实现类之间的共享
数据和方法的机制。在我们日常生活中,儿子总 会继承父亲的一些特性:所有种类的汽车都需要 实现汽车的基本功能;所有种类的电脑都需要实 现电脑的基本功能,诸如此类的例子很多。而这 些现象,都可以使用继承来实现。新建的类称为 子类,该类需要继承的类称为超类或者父类。
3.1.1 面向对象术语
• 4.接口 • 接口可以描述为类定义的模板,实现接口的类实现该模板。
在猫的示例中,接口类似于猫的蓝图:通过蓝图可了解需 要的部分,但并不一定提供关于这些部分的组装方法或工 作原理的信息。 • 可将接口看作是用于将两个若没有接口便没有任何关系的 类关联起来的“编程约定”。例如,多个程序员一起工作, 每个程序员开发同一个应用程序的不同部分(类)。设计 应用程序时,约定不同的类使用一组方法进行通信。因此, 创建一个接口用以声明这些方法、方法的参数及其返回类 型。任何实现此接口的类都必须提供这些方法的定义,否 则将出现编译错误。
3.1.2 面向对象程序设计方法的优点
• 2.可扩展性 • 可扩展性即软件或者程序能够很方便地进行修改
和扩充。对于软件产品来说,修改和扩充是必不 可少的,一是不断地修订保证程序的稳定;二是 可以不断满足用户新的需求。由于继承、封装、 多态等特性,面向对象方法可以设计出高内聚、 低耦合的系统结构,使得系统更灵活,更容易扩 展,而且成本较低。
3.1.1 面向对象术语
• OOP是与具体的语言无关的,无论在C++还是在 Java中,OOP的思想是通用的。OOP利用特殊约定 的词汇描述相关特性,尽管这些词汇与生活习惯 相近,但是为避免歧义,在学习OOP前,仍需要了 解OOP相关术语。这里只对其中最为重要的进行简 要的介绍,包括:类、对象、接口、封装、继承。

《类和对象的概念》课件

《类和对象的概念》课件
总结词
明确类和对象的职责与属性
详细描述
在设计类和对象时,首先需要明确每个类和对象的职责和 属性,确保它们具有清晰、准确的功能定义。同时,要遵 循单一职责原则,避免一个类或对象承担过多的职责。
总结词
合理规划类和对象的继承关系
详细描述
在面向对象编程中,继承是实现代码复用的重要手段。合 理规划类和对象的继承关系,可以使代码结构更加清晰、 易于维护。同时,要注意避免过度继承和多重继承带来的 问题。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的命名冲突问题
详细描述
在多个类或对象共存的情况下,可能会出现命名冲突的问题。为了避免这种情况 ,可以采用命名规范、命名约定等方式来避免命名冲突,提高代码的可读性和可 维护性。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的内存泄漏问题
详细描述
02
通过封装,对象的属性和行为被隐藏在内部, 只通过外部接口与外界交互。
03
封装可以提高代码的安全性和可维护性,防止 外部随意修改内部实现细节。
继承
01
继承是子类继承父类的 属性和行为,子类可以 使用父类的所有非私有
属性和方法。
02
通过继承,子类可以扩 展和修改父类的功能, 实现代码的重用和扩展

《类和对象的概念》ppt课件
$number {01}
目录
• 类和对象的基本概念 • 类的特性 • 对象的创建和使用 • 类和对象的应用 • 类和对象的常见问题与解决方案
01
类和对象的基本概念
类的定义
总结词
类是对象的抽象,定义了一组具有相似属性和行为的对象。
详细描述
类是面向对象编程中的一个基本概念,它是对一组具有相似 属性和行为的对象的抽象。通过类,我们可以定义一组对象 的共同特征和行为,以及如何对这些特征和行为进行操作。

三章节类对象及方法

三章节类对象及方法
类基础
类实际上是创建对象的模板,每个对象都包含数据, 并提供了处理和访问数据的方法。类定义了每个对象 可以包含什么数据和功能,但类自己不能包含数据。 比如一个类代表一个人,它就可以定义所有与人相关 的信息(身高、年龄、体重等)。使用时,实例化对 象表示某一个人。
类 人类 (模板) 姓名 性别 使用证件( ) 使用交通工具( )
该声明语句执行二个功能:第一.声明一个称为circle1的Circle类 类型的变量,该变量不定义对象,实际上它仅仅是一个包含所创 建对象引用的引用变量,第二,使用new运算赋可以创建一个实 际物理对象,并将此对象的引用分配给circle1。
因此可以编写成独立分开的形式:
Circle circle1;
house.areaPerPerson(); Console.WriteLine(); Console.WriteLine("office has:\n " +
office.floors + " floors\n " + office.occupants + " occupants\n " + office.area + " total area"); office.areaPerPerson(); } }
因此要访问PI只需写成:
Circle .PI 访问对象变量,需要创建对象,只需写上对象名称, 其后跟着小数点和对象变量名称就可以了.如: 对象名称.对象变量名称
Circle circle1=new Circle()
circle1.radius
例:using System; class Circle { public const double PI=3.14159; public double xCenter; public double yCenter; public double radius; } class VariableTest { public static void Main()
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.4 string类 string类
1、串的基本概念 、
1)串 又称字符串)是由n(n 0)个字符组成的有限序列。(它 个字符组成的有限序列。( 1)串(又称字符串)是由n(n≥0)个字符组成的有限序列。(它 是数据元素为单个字符的特殊线性表。) 是数据元素为单个字符的特殊线性表。) 记为: 记为: =“s s = s0,s1, ……,sn-1” ,s 串值( 括起来) 串名 串值(用“ ”括起来) 2)串长 3)空串 5)子串 串。 串中字符的个数(n≥0)。 串中字符的个数(n≥0)。 串中字符的个数为0 串中字符的个数为0 时称为空串 ∅ 。 串S中任意个连续的字符序列叫S的子串; S叫主 中任意个连续的字符序列叫S的子串; S叫主 (n≥0 )来自3.3 对象数组与对象指针
不声明构造函数,则采用缺省构造函数。(注 不声明构造函数,则采用缺省构造函数。(注 。( 全局或静态对象的数据成员的值为0, 意:全局或静态对象的数据成员的值为 , 局 部(动态)对象的数据成员的值为随机的。) 动态)对象的数据成员的值为随机的。) 各元素对象的初值要求为相同的值时, 各元素对象的初值要求为相同的值时,可以声 明具有默认形参值的构造函数。 明具有默认形参值的构造函数。 各元素对象的初值要求为不同的值时, 各元素对象的初值要求为不同的值时,需要声 明带形参的构造函数。 明带形参的构造函数。 当数组中每一个对象被删除时, 当数组中每一个对象被删除时,系统都要调用 一次析构函数。 一次析构函数。
3.4 string类 string类 3、
00100001 00000000
3.4 string类 string类 知道了C-串首地址,即可知道整个串,所 以可以藉字符首址(字符指针)来操作C串, 但要注意,串的第一个字符与整个串的 操作不同,如,C-串的输出操作:
char* str = ”Hello”; cout << *str <<endl; cout << str << endl; // 显示H // 显示Hello
第3章 类和对象
本章主要介绍: 本章主要介绍: 类和对象的基本概念 构造函数与析构函数 对象数组、对象指针及引用 对象数组、 string类 类 向函数传递对象 对象的赋值和复制 静态成员 友元 类的组合 常量对象及常量成员
3.3 对象数组与对象指针
3.3.1 对象数组 1、定义 、 每一数组元素都是对象的数组 声明: 声明:
7
#include<iostream.h> #include "Point.h" int main() { cout<<"Entering main..."<<endl; Point A[2]; for(int i=0;i<2;i++) A[i].Move(i+10,i+20); cout<<"Exiting main..."<<endl; return 0; }
#include<iostream.h> #include "Point.h" Point::Point() { X=Y=0; cout<<"Default Constructor called."<<endl; } Point::Point(int xx,int yy) { X=xx; Y=yy; cout<< "Constructor called."<<endl; } Point ::~Point() { cout<<"Destructor called."<<endl; } void Point ::Move(int x,int y) { X=x; Y=y; }
3.3 对象数组与对象指针
例3.3.1 对象数组应用举例
//Point.h
class Point { public: Point(); Point(int xx,int yy); ~Point(); void Move(int x,int y); int GetX() {return X;} int GetY() {return Y;} private: int X,Y; };
3.3 对象数组与对象指针
2. 用对象指针访问对象数组
例如将例3.3.3的main()改写为 的 改写为: 例如将例 改写为 void main() { exe ob[2],*p; ob[0].set_a(10); ob[1].set_a(20); p=ob; p->show_a(); p++; p->show_a(); }
对象指针的使用。 例3.3.3 对象指针的使用。
3.3 对象数组与对象指针
#include<iostream.h> class exe{ int x; public: void set_a(int a){ x=a; } void show_a(){ cout<<x<<endl; } }; void main() { exe ob,*p; // 声明类 的对象 和类 的对象指针 声明类exe的对象 和类exe的对象指针 的对象ob和类 的对象指针p ob.set_a(2); ob.show_a(); // 利用对象名访问对象的成员 p=&ob; // 将对象 的地址赋给对象指针 将对象ob的地址赋给对象指针 的地址赋给对象指针p p->show_a(); // 利用对象指针访问对象的成员 }
3.3 对象数组与对象指针
3.3.3 自引用指针 自引用指针this
例 3.3.4 this指针的引例。 指针的引例。 指针的引例 #include<iostream.h>
class A{ int x; public: A(int x1){ x=x1; } void disp(){ cout<<"x= "<<x<<endl;}
相当于this->x
}; main() { A a(1),b(2); cout<<" a: "; a.disp(); cout<<" b: "; b.disp(); return 0; }
3.3 对象数组与对象指针
显示this指针的值。 指针的值。 例3.3.5 显示 指针的值 #include<iostream.h> class A{ int x; public: A(int x1){ x=x1; } void disp() {cout<<"\nthis="<<this<<"when x="<<this->x;} }; main() { A a(1),b(2),c(3); a.disp(); b.disp();c.disp(); return 0; }
数组名[元素个数 元素个数]; 类名 数组名 元素个数 ;
访问方法: 访问方法:
通过下标访问 数组名[下标 成员名 数组名 下标].成员名 下标
3.3 对象数组与对象指针 2、对象数组初始化
数组中每一个元素对象被创建时, 数组中每一个元素对象被创建时,系统 都会调用类构造函数初始化该对象。 都会调用类构造函数初始化该对象。 对类对象数组中的元素初始化, 对类对象数组中的元素初始化,必须通 过该类的构造函数来进行。 过该类的构造函数来进行。通过初始化列 表赋值。 表赋值。例: Point A[2]={Point(1,2),Point(3,4)}; 若在定义对象数组时, 若在定义对象数组时,不想立即对数组 中对象赋初值, 中对象赋初值,其构造函数中必须含有一 个不带参数的或是缺省参数的构造函数。 个不带参数的或是缺省参数的构造函数。
3.4 string类 string类 2、C-串结构
每个字符占据1 每个字符占据1个字节 ’H’’e’’l’’l’’o’’!’’\0’ 一个C 串是一个字符序列, 一个C-串是一个字符序列,用来表 示各种名字或者文字说明 72 101 108 108 111 33 0 C- 串的字符序列的最后总是添加 有一个结束标志.即在6 有一个结束标志.即在6个字符的字 01001000 (“Hello!”)其空间存储有 其空间存储有7 串 (“Hello!”) 其空间存储有 7 个 01100101 字节 01101100 右边三图是不同细节的同一空间 01101100 01101111 结构描述
空串和空白串的区别
String)是指长度为零的串 是指长度为零的串; 空串(Null String)是指长度为零的串; String),是指包含一个或多个空白 而空白串(Blank String),是指包含一个或多个空白 字符‘ 字符‘ ’(空格键)的字符串. 空格键)的字符串.
注:串与字符的区别
长度为1的串。(它不仅要存储字符‘ , 。(它不仅要存储字符 “a” 串,长度为1的串。(它不仅要存储字符‘a’, 还要存储该串的长度数据1 还要存储该串的长度数据1) 字符a 只存储字符‘ ) ‘a’ 字符a。(只存储字符‘a’)
3.3 对象数组与对象指针 例3.3.2 对象数组应用举例
class Point { public: Point( ) {x=y=0;} Point(int xx,int yy){X=xx; Y=yy;} …… private: int X,Y;}; main( ) { Point point1(3,4); 正确否? …… Point point2[20]; …… 正确! }
3.3 对象数组与对象指针
3.3.2 对象指针
1.用指针访问单个对象成员 用指针访问单个对象成员
相关文档
最新文档