第八章_面向对象编程简介_(1)类的定义和使用PPT教学课件
python面向对象教学课件
a = Account("Huang") print(a.balance) a.deposit(100) a.withdraw(10) print(a.balance)
b = Account("Li") c = Account("Li") b.balance = 100 c.balance = 80 print(b.balance =_是在对象消亡时由 python自动调用的函数, 一般用于完成对象的消亡 前处理操作
15
继承、重写、多态、访问限制
16
继承
• 类别可以存在层级关系 • 实现代码复用的重要方式
17
继承
• 例如: – 定义一个新类型的账户,具有取款手续费
class CheckingAccount: def __init__(self, account_holder): self.balance = 0 self.holder = account_holder def deposit(self, amount): self.balance += amount def withdraw_charge(self, amount): self.balance -= (amount + 1)
class CheckingAccount(Account): def __init__(self, acc_holder, balance): Account.__init__(self, acc_holder) self.balance = balance
super().__init__(acc_holder)
a = Account("Huang") a.deposit(100) print(a.deposit)
什么是面向对象、对象是什么、什么是类、如何使用对象、类和对象的关系
什么是⾯向对象、对象是什么、什么是类、如何使⽤对象、类和对象的关系⾯向对象⼀、⾯向对象 概念:⾯向对象是⼀种编程思想,使⽤编程语⾔解决现实问题的⼀种思路。
分类: ⾯向过程: C 语⾔ ⾯向对象: Java ⾯向对象的思想: ⾯向对象的思想: ⾯向过程的思想:⾃顶向下 逐步执⾏。
---> 当解决⼀件事情的时候,⾸先想到的是我该怎么去做⾯向对象思想:以对象为中⼼,使⽤对象调⽤其功能。
---> 当解决⼀件事情的时候,⾸先想到的是我该让谁帮我做。
想到的谁 ---> 对象 对象:现实⽣活中存在的真实的事物都是对象,Java 中有⼀句名⾔: 万物皆对象,⼤到宇宙、⼩到夸克在Java 的世界中都可以看成对象。
提起对象,就需要提起另⼀个概念——类。
类是对象的模板,对象是类的实例。
⼆、类 概念: 将具有相同特征的⼀类事物的共性进⾏抽取(抽取的过程叫做抽象),形成的⼀个概念叫做类。
类的抽象: 1. 怎么去描述⼀个事物,从哪些维度进⾏描述? 这个事物具有什么 ---> 属性 这个事物会做什么 ---> ⾏为 2. 怎么去描述⼀类事物的共性? 这些事物具有什么 ---> 属性 这些事物会做什么 ---> ⾏为 类和对象的关系: 类是对象的模板 对象是类的实例 类的定义: 概述: 属性 : 使⽤成员变量来进⾏描述 ⾏为 : 使⽤成员⽅法进⾏描述 语法:关键词:class语法:public class 类名{} 成员变量 定义位置:类中⽅法外 语法: 数据类型 变量名; / 数据类型 变量名 = 初始值;作⽤域:⾄少在本类 默认值: 和数组元素的默认值是⼀样的 基本数据类型 整数类型 0 ⼩数类型 0.0 字符类型空字符 布尔类型 false 引⽤数据类型 null 定义的注意事项 1. 在同⼀个类中不能定义两个同名的成员变量 2. 在同⼀个类中成员变量可以和局部变量可以重名,但是在访问的时候,局部变量优先。
中高端控制器-ST文本面向对象编程语法讲解课件
03
状和行为,而对象则是根据类创建出来的具体实例。
封装、继承和多态
封装(Encapsulation)
将对象的属性和行为封装在一起,形成一个独立的单元,隐藏内部实现细节,只对外提供 必要的接口。封装可以提高代码的安全性和可维护性。
继承(Inheritance)
子类可以继承父类的属性和行为,同时可以增加新的属性和行为。继承可以实现代码的重 用和扩展,提高开发效率。
OOP 具有封装、继承和多态等 核心特性,可以提高代码的可重 用性、可维护性和可扩展性。
类与对象概念
01
类(Class)是对具有相同属性和行为的一组对象的抽象描述, 定义了对象的结构和行为。
02
对象(Object)是类的实例,具有类所描述的属性和行为,是
程序中的基本单位。
类与对象的关系类似于模具和铸件的关系,类定义了对象的形
数据类型
定义变量的类型,如整型、浮点型、布尔型等。
运算符与表达式
用于进行各种数值计算和逻辑运算。
控制结构
包括顺序结构、选择结构和循环结构,用于控制程序的执行流程。
ST文本数据类型
基本数据类型:整型、浮 点型、布尔型等。
特殊数据类型:指针、引 用等。
复合数据类型:数组、结 构体等。
用户自定义类型:通过 typedef定义自己的数据 类型。
02
ST文本基础
ST文本概述
ST文本的概念
01
ST文本是一种结构化文本编程语言,用于编写中高端控制器的
程序。
ST文本的特点
02
易于理解、可读性强、支持结构化编程、可移植性好。
ST文本的应用领域
03
工业自动化、过程控制、机器人控制等。
面向对象编程相关概念
1. 概念1.1 面向过程和面向对象的通俗理解面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。
把上面每个步骤用不同的方法来实现。
面向对象的设计则是从另外的思路来解决问题。
整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
可见,面向对象是以功能来划分问题,而不是步骤。
面向过程的设计很可能出现不同的版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。
面向对象的设计中,不同可能只存在于某一个功能对象内部,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。
1.2 面向过程和面向对象的优缺点方法优点缺点面向过程性能好难维护、复用、拓展面向对象性能差易维护、易复用、易扩展用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭,形容的十分贴切。
到底是蛋炒饭好还是盖浇饭好呢?非要比个上下高低的话,就必须设定一个场景,否则只能说是各有所长。
盖浇饭的好处就是"菜"“饭"分离,从而提高了制作盖浇饭的灵活性。
饭不满意就换饭,菜不满意换菜。
用专业术语就是"可维护性"比较好,“饭” 和"菜"的耦合度比较低。
《编程基础 》课件
时间复杂度
01
衡量算法执行时间随输入规模变化的趋势。
空间化的趋势。
复杂度分析意义
03
有助于评估算法的效率,指导算法优化和选择合适的数据结构
。
05 面向对象编程基础
面向对象的概念
01
面向对象编程是一种编程范式,它使用对象来设计软件和应用 程序。
02
对象是具有属性和行为的实体,通过封装实现数据和操作的结
合。
面向对象编程具有封装、继承和多态等核心特性。
03
类与对象的关系
1
类是对象的抽象,定义了一组具有相似属性和行 为的对象。
2
对象是类的实例,具有类中定义的属性和行为。
3
类与对象的关系是抽象与具体的关系,类是对象 的模板。
继承与多态的实现
01
02
03
继承是面向对象编程中 的重要概念,子类可以 继承父类的属性和方法
编程语言:指用于人与计算机之间通讯的语言,是人与计算机之间传递信息的媒介。
编程语言按语法分为强类型和弱类型,强类型语言有严格的语法规定,而弱类型语言则 相对宽松。
编程的重要性
提高解决问题的能力
编程能够帮助我们更好地理解和解决 问题,通过编程实践,我们可以培养 出一种分析和解决问题的能力。
增强逻辑思维能力
企业级项目案例解析(如
要点一
企业级项目案例解析 的意义
通过解析企业级项目案例,学生可以 了解实际开发中的编程技术和项目管 理方法,为未来的职业发展做好准备 。
要点二
电商系统案例
解析一个电商系统的案例,可以帮助 学生了解实际开发中如何使用编程语 言和技术框架来构建一个完整的电商 系统。学生可以学习到前后端分离的 开发模式、数据库设计和优化、用户 认证和授权等实际开发中的技术和经 验。
java课件 ppt
02
控制流程语句
if语句、switch语句、for循环、 while循环等
循环语句
for循环和while循环的语法和用法, 循环条件的设置方法
04
数组和集合
数组
数组的声明和初始化,数组元素的访问和修 改,数组的遍历等
集合的常用操作
添加元素、删除元素、遍历集合等操作的方 法和实现
集合框架
List、Set、Map等接口及其实现类,如 ArrayList、HashSet、HashMap等
02
详细描述
03
• 封装:封装是指将数据和 操作封装到一个对象中, 以实现数据的隐藏和保护 。通过访问控制符( public、protected、 private)可以限制对类的 成员的访问权限。
04
• 访问控制:访问控制是指 限制对类成员的访问权限 ,以确保数据的完整性和 安全性。在Java中,可以 使用访问控制符来限制对 类的成员的访问权限。
掌握Java GUI事件处理的基本 原理和机制,了解事件源、事 件监听器、事件对象等概念。
Java Web开发基础
Java Web开发 概述
了解Java Weຫໍສະໝຸດ 开发的基本概 念、原理和框架。Servlet基础
掌握Servlet的基本使用方法 ,如生命周期、请求响应模 型等。
JSP技术
掌握JSP的基本使用方法, 如页面指令、内置对象、表 达式等。
集合的遍历方式
使用for循环、迭代器等方法遍历集合中的 元素
异常处理和日志记录
异常处理
try-catch语句块,异常的捕 获和处理方法,finally语句
块等
1
异常的类型
异常的继承关系,异常的分 类和定义,异常的抛出和处
第八章 类与对象(一)
5.类成员函数的一个重要性质
类成员函数具有一切与“作为类成员”不相冲突 的普通函数的用法。如可带默认形参值。 void Clock::SetTime(int NewH = 0, int NewM = 0, int NewS = 0) { Hour = NewH; Minute = NewM; Second = NewS; }
通过对象的引用变量来访问对象中的成员
如果为一个对象定义了一个引用变量,它们是共占同一段 存储单元的,实际上它们是同一个对象,只是用不同的名 字表示而已。因此完全可以通过引用变量来访问对象中的 成员。 如果已声明了Time类,并有以下定义语句: Time t1; //定义对象t1 Time &t2=t1; //定义Time类引用变量t2,并使之初始 化为t1 cout<<t2.hour; //输出对象t1中的成员hour 由于t2与t1共占同一段存储单元(即t2是t1的别名),因此 t2.hour就是t1.hour。
4.在类声明体外定义成员函数
在前面已经看到成员函数在类声明体(简称类体)中 定义,而实际上,类成员函数通常在类声明体外定义,在 类体中只写成员函数的声明。 例1: class Clock { public: void SetTime(int NewH, int NewM, int NewS); void ShowTime( ); private: int Hour, Minute, Second; };
例2: class Student { public: void display( ); //公用成员函数原型声明 private: int num; string name; char sex; //以上3行是私有数据成员 }; void Student∷display( ) //在类外定义display类函数 //函数体 { cout<<″num:″<<num<<endl; cout<<″name:″<<name<<endl; cout<<″sex:″<<sex<<endl; } Student stud1,stud2; //定义两个类对象
java 课件 ppt
04
Java 常用类库
String 类和 StringBuffer 类
字符串处理类
•·
String 类: Java 中的基本 数据类型,用于表示字符串 。它提供了多种方法来操作 字符串,如连接、查找、替 换等。
StringBuffer 类: 用于处理 可变字符串。与 String 类相 比,StringBuffer 提供了更 高效的方法来修改字符串, 因为它在内存中直接修改字 符数组,而不是创建新的 String 对象。
07
Java 多线程编程
线程的创建和管理
继承Thread类
通过继承Thread类并重写run()方法, 可以创建新的线程类。
线程的启动和终止
使用Thread类的start()方法启动线程 ,使用interrupt()方法中断线程。
实现Runnable接口
通过实现Runnable接口并重写run() 方法,可以创建新的线程类。
IO 流和文件操作
01
数据输入输出类
02
•·
03
InputStream 类和 OutputStream 类: 用于读取和写入字节流。 InputStream 用于读取数据,OutputStream 用于写入数据。
04
FileReader 类和 FileWriter 类: 用于读取和写入字符流。 FileReader 用于读取文本文件,FileWriter 用于写入文本文件。
运算符和控制流
for循环
重复执行一段代码指定的次数。
while循环
只要条件为真,就重复执行一段代码 。
面向对象编程基础
类和对象 类是对象的模板,定义了对象的属性和方法。 对象是类的实例,具有类定义的属性和方法。
[计算机软件及应用]第8章第一部分 类与对象
class Date
{
public:
Date( );
// 默认构造函数
void setDate(int,int,int); // 设置年、月、日
17
class 类名
{ private:
私有数据和函数
public:
公有数据和函数
};
大括号后的分号“;”是类定义的结束
标志。类的成员分为数据和函数,分别
称为成员数据和成员函数。成员数据描
述类对象内部数据的结构,成员函数则
用于操作类对象的这些数据。
18
class Date
{ public:
Date( );
public: void putname(char *n); void getname(char *n);
private: long num;
public: void putnum(long n); long getnum();
};Leabharlann 24成员数据的说明 一般说来,类中的成员数据可以是任何类
型的。成员数据说明的形式等同C++程序中 一般变量的定义形式。
第八章 类与对象
1
80年代后期,在计算机软件领域发生了 许多变化,这些变化极大地影响着几乎所 有的程序设计者和系统分析员的工作。面 向对象的程序设计方法: (Object-Oriented Programming)就是其中之一。
OOP并不是一种程序设计语言,而是一 种新概念——关于数据、过程和它们之间 关系的一种新的思考方法。
int X,Y; 只是这里还要使用访问说明符(类型修饰 符)private、public和protected。在说明成员数 据时不再使用修饰符extern、auto、register。
java课件ppt
Lock接口和ReentrantLock类,提供 了比synchronized更灵活的线程同步 机制,可以实现更复杂的同步操作。
感谢您的观看
THANKS
while语句
当条件满足时重复执行一段代码。
for语句
指定循环次数重复执行一段代码。
函数
函数定义
定义一个具有特定功能的代码块,并为其命 名。
函数参数
传递给函数的值,用于在函数内部使用。
函数返回值
函数执行完毕后返回的结果。
函数调用
使用函数名和参数调用函数,并执行其功能 。
03
Java面向对象编程
面向对象的概念
throw语句用于手动抛出异常,可以在方法中使用throw语句 抛出异常,然后在调用该方法的方法中捕获并处理该异常。
06
Java多线程编程
线程的概念
线程具有5种状态:新建、就绪、运 行、阻塞、终止。
线程具有两个基本属性:优先级和状 态。
线程的创建和启动
01
继承Thread类并重写run()方法,创建线程对象后调用 start()方法启动线程。
异常的分类
运行时异常
运行时异常是那些可能在编译时无法预料到的异常,例如空指针异常(NullPointerException)、数组越界异 常(ArrayIndexOutOfBoundsException)等。
检查异常
检查异常是那些在编译时就能够被检查出来的异常,例如文件未找到异常(FileNotFoundException)、网络 连接中断异常(SocketException)等。
02
实现Runnable接口并重写run()方法,将Runnable对象传递给 Thread构造函数创建线程对象,然后调用start()方法启动线程。
java课件 ppt
Android开发
Android系统基于Java,因此Java是开发 Android应用程序的主要语言之一。
02 Java语法
数据类型
浮点型
包括float、double 等,用于存储小数 。
布尔型
boolean,用于存 储真或假。
整型
包括byte、short、 int、long等,用于 存储整数。
在方法签名中使用 throws关键字声明该方 法可能抛出的异常类型 ,可以让调用该方法的 代码知道该方法可能会 抛出异常,并采取相应 的处理措施。
06 Java多线程编程
线程的概念
线程具有5种基本状态
新建、就绪、运行、阻塞、终止。
线程的优先级
Java中线程的优先级是一个动态的值,其范围是1~10,默认为5。
线程池
线程池的概念
线程池是一种多线程处理技术,通过预先创建一定数量的线程,并将 这些线程放入线程池中,以避免频繁地创建和销毁线程。
线程池的作用
提高程序的性能和响应速度,降低系统开销,实现资源的复用和共享 。
线程池的创建
通过Executors类提供的静态方法创建不同类型的线程池对象,如 FixedThreadPool、CachedThreadPool、SingleThreadExecutor等 。
03
基础。
继承和多态
01
继承是面向对象编程的重要特性之一,它允许一个 类继承另一个类的属性和行为。
02
多态是指一个接口可以有多种实现方式,或者一个 对象可以表现出多种形态。
03
继承和多态有助于减少代码重复,提高软件的可维 护性和可扩展性。
接口和抽象类
接口是一种完全抽象的类,定义了一组方法,但 没有实现这些方法。
Python语言类和对象ppt课件
def kill(self): print("%s,是保护动物,不能杀..."% )
8.2 类的定义与使用
第八章 类和对象
8.2.3 类的构造方法及专有方法 代码运行结果如下: >>> b = Bear() >>> b.kill() 默认的熊,是保护动物,不能杀... >>> c = Bear('替代熊') >>> c.kill() 替代熊,是保护动物,不能杀... 在上例中,我们把构造函数的参数name设置为默认值:“默认的熊”
8.1 理解面向对象
第八章 类和对象
8.1.2面向对象术语简介
实例化:创建类的一个实例的过程。 封装:把对象的属性、方法、事件集中到一个统一的类中,并对调用者屏 蔽其中的细节。 继承:一个类共享另一个类的数据结构和方法的机制称为继承。起始类称 为基类、超类、父类,而继承类称为派生类、子类。继承类是对被继承类 的扩展。 多态:一个同样的函数对于不同的对象可以具有不同的实现,就称为多态。 接口:定义了方法、属性的结构,为其成员提供规约,不提供实现。不能 直接从接口创建对象,必须首先创建一个类来实现接口所定义的内容。
8.1 理解面向对象
第八章 类和对象
8.1.2面向对象术语简介 重载:一个方法可以具有许多不同的接口,但方法的名称是相同的。 事件:事件是由某个外部行为所引发的对象方法。 重写:在派生类中,对基类某个方法的程序代码进行重新编写,使其实现 不同的功能,我们把这个过程称为重写。 构造函数:是创建对象所调用的特殊方法。 析构函数:是释放对象时所调用的特殊方法。
第1章 面向对象编程的原理PPT课件
作这些数据的成员函数。然后,定义各个类的对象,并将数据赋给各
个对象。对象的数据是私有的,外界只能通过公有的成员函数才能访
问该对象的数据。这样就保证了数据的安全性,而且程序员也易于对
数据进行跟踪。类的继承性使得每一个新类得以继承基类、父类的全
部属性和方法,并加入自己特有的属性和方法,从而使得代码的重用
• 面向过程以算法为中心,由算法完成对数据的操作,面向 对象技术是以属性为中心,以消息和方法机制完成对对象 的操作,对象作为数据而不是作为过程被描述。继承指的 是子类继承父类的数据结构和方法,并加入自己所特有的 信息,构成新的类,它是父类和子类之间信息关联的一种 机制;多态体现在程序运行过程中,不同对象收到相同消 息产生完全不同的结果的现象。继承和多态是面向对象特 有的要素。
总之,面向对象的整体概念可具体表示如下: 面向对象=数据抽象+数据抽象类型+继承性
面向对象程序设计的特征
• 抽象性 ---- 许多实体的共性产生类; • 封装性 ---- 类将数据和操作封装为用户自定义的抽象数据类型; • 继承性 ---- 类能被复用,具有继承(派生)机制; • 多态性 ---- 具有动态联编机制。
对象的这一特性,即是对象的封装性. 5. 事件(Event) 即对象在执行某一操作后激发并执行 的一个或多个过程。
这些过程对用户是透明的,用户可以为这个过程编写自 己的程序代码,以完成特定的操作。
如:窗口对象在执行打开过程时,就会激活一个Active 事件(过程),用户可以自己编写这一过程的代码,以便在 打开这个窗口时完成一些自己所要求的任务,如打开一个数 据库,对某个变量进行初始化等等
6. 类(Class)与实例(Instance)
类是具有共同属性、共同方法、共同事件的对象的集合。而一 个具体的对象则是其对应类的一个实例。
C#面向对象程序设计-正式版PPT课件
-
14
2.2 类的声明
• 以上的类修饰符可以两个或多个组合起来使用,但需要注意下面几点: (1) 在一个类声明中,同一类修饰符不能多次出现,否则会出错。 (2) new类修饰符仅允许在嵌套类中表示类声明时使用,表明类中隐藏了
//香蕉类中其他的属性和方法 }
-
6
1.2 面向对象语言的特点
(2) 封装
• 类是属性和方法的集合,为了实现某项功能而定 义类后,开发人员并不需要了解类体内每行代码 的具体涵义,只需通过对象来调用类内某个属性 或方法即可实现某项功能,这就是类的封装。
• 封装提供了外界与对象进行交互的控制机制,设
计和实施者可以公开外界需要直接操作的属性和
• 例如:某个对象,其基类为“笔”,在调用它的“写”
方法时,程序会自动判断出它的具体类型,如果是毛
笔,则调用毛笔类对应的“写”方法,如果是铅笔,
则调用铅笔类对应的“写”方法。
-
9
2 定义类
• 在C#中,“类”是一种数据结构,它可以包含数据成员 (常量和字段)、函数成员(方法、属性、事件、索引器、
运算符、构造函数、析构函数)。
由基类中继承而来的、与基类中同名的成员。
(3) 在使用public、protected、internal和private这些类修饰符时,要注意这些类 修饰符不仅表示所定义类的访问特性,而且还表明类中成员声明中的访问特 性,并且它们的可用性也会对派生类造成影响。
(4) 抽象类修饰符abstract和密封类修饰符sealed都是受限类修饰符。
第8章PythonPytho程序设计基础教程面向对象编程ppt课件
8.2. 类的继承
面向对象的编程带来的主要好处之一是代 码的重用,实现这种重用的方法之一是通 过继承机制。一个类继承另一个类时,它 将自动获得另一个类的所有属性和方法; 原有的类称为父类,而新类称为子类。子 类继承了其父类的所有属性和方法,同时 还可以定义自己的属性和方法。继承完全 可以理解成类之间的类型和子类型关系。
2. 定义了eat()方法,该方法的参数是self和food:self表示当前 调用eat()的对象,food是一个数字类型参数,表示吃进去的食 物重量,通过self.weight=self.weight+food使得调用eat() 方法的Person对象体重增加,如p1.eat(2)表示Person对象p1 的体重增加2,同时显示信息。
5. 代Байду номын сангаас块4创建了两个不同的Person对象,分别是p1 和p2,分别调用他们的eat()、run()、say()方法。
10
对象属性的默认值设置
可以为属性在__init__()方法中设置默认值,代 码如下:
# 例 8 3在类的定义中加入初始化代码 def __init__(self, name, gender='男', weight=70):
9
3. 定义了run()方法,该方法只有一个参数self,通过s elf.weight=self.weight-1使得调用run()的对象体 重减1,如p1.run(),表示Person对象p1通过跑步 锻炼体重降低了1,同时显示信息。
4. 定义了say()方法,该方法只有一个参数self,通过p rint('My name is %s' % ())语句自我 介绍,如p2.say(),输出“王昭君”,自我介绍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/12/10
13
类的定义和使用
• 类的定义示例
class Student {
public string Name; public int Age; public void Study(); public int Test(); public void Graduate(); }
2020/12/10
Student 小强=new Student();
• 对象属性的使用:
对象名.属性;
例:小强.Age;
• 对象方法的使用:
对象名. 方法();
例:小强.Study(“英语”);
2020/12/10
19
Main程序
Student 小强=new Student(); 小强. Name=“何小强"; 小强.Age=20; 小强.Study();
– 正确使用方法
class Person {
private string _name;
public void SetName(string name)
{
_name = name;
}
}
class Program {
public static void Main(string[] args) {
Person myself = new Person();
2020/12/10
10
类的定义和使用
• 面向对象中的类,在 C# 中使用 class 关 键字进行声明,并且类中可以包含有字段、 属性和方法,字段、属性(事物的特征)相 当于变量,方法(事物的行为)相当于函 数:
class <类名>
{ [可访问级别] <类型> <字段名>; [可访问级别] <返回值类型> <方法名>(参数表);
}
2020/12/10
11
类的成员
• 字段:保存数据(相当于变量) • 方法:定义代码(相当于函数)
2020/12/10
12
类的定义和使用
• 类的访问级别
– public
(公有)
– private
(私有)
– protected (保护)
– internal
(内部)
– internal protected (内部+保护)
Person myself = new Person();
= “小强”;
myself.Study();
}
2020/}12/10
15
类的定义和使用
• Private (私有级别)
– 定义为私有访问级别的类的成员只能被类的 成员所访问,而不能被其它对象访问。
class Person { private string Name; // ....
} class Program {
public static void Main(string[] args) { Person myself = new Person(); //! = “小强”;
} }
2020/12/10
16
类的定义和使用• Fra bibliotekrivate (私有级别)
myself.SetName(“小强”);
}
}
2020/12/10
17
定义对象
• 对象
– 在 C# 中,我们使用 new 运算符来创建类的 对象。
类名 对象名 = new 类名();
2020/12/10
18
对象的创建和使用
• 对象是一个动态概念,具有产生、使用 和消亡的生命周期。
• 通过new操作符创建对象:
• 设计程序时,我们首先考虑的是数据以 及对这些数据进行处理的代码。
• 而实际问题中考虑的是要处理的事物。
这种思维方式的不同,造成程序不能直观的反映现实
2020/12/10
事物,抽象不易理解
3
什么是面向对象程序设计
• 面向对象程序设计是一种更接近现实世 界的程序设计方法。
• 面向对象的程序设计方法,是对现实世 界中的事物进行抽象的方法,以形成信 息世界所能够处理的事物——即对象!
5
一切皆是对象
• 使用面向对象的程序设计方法,可以把现 实世界中的一切事物都定义成对象,并可 在对象上执行一些操作,就和现实世界中 一样。
• 例如: 学生信息系统中:学生对象
游戏程序中:武士、魔法师、道具等对象
• 这些对象如何设计?
2020/12/10
6
现实生活中设计的实例
• 汽车的制造过程:按照设计好汽车图纸, 配置不同型号的部件可以制造出不同款式 的汽车。如轮胎、颜色、发动机不同。
• 面向对象的程序设计方法也是对现实世 界的模拟,可模拟出现实世界中事物的 状态(特性)和交互过程。
2020/12/10
4
如何实现面向对象程序设计
• 1。应用分解为各组成部件(即对象); • 2。设计并实现这些对象(数据和代码); • 3。通过对象之间的彼此交互完成系统的功
能;
2020/12/10
• 设计的过程:抽象出所有的汽车都有相同 的共性,再按照客户的不同喜好具体制造。
• 具体—抽象—具体。 • 面向对象程序设计过程:事物—类—对象
2020/12/10
7
类与对象
• 对象是类的实例
2020/12/10
8
面向对象方法中的一些概念
• 面向对象方法的基本思想是把现实世界 中的一切事物进行抽象,以形成计算机 能够处理的对象——类。
第八章 面向对象编程简介
——类的定义和使用
2020/12/10
1
主要内容
• 为什么需要面向对象? • 什么是面向对象? • 如何实现面向对象程序设计?
2020/12/10
2
为什么需要面向对象?
• 传统的程序设计方法:将实际问题向计 算机解决方法的转换,往往不存在直接 的对应关系。
• 经典的理论:程序=数据结构+算法。
14
类的定义和使用
• Public (公有级别)
– 定义为公有访问级别的类的成员能够被外界 的任何对象访问,没有任何限制。
class Person {
public string Name;
public void Study();
// ....
}
class Program {
public static void Main(string[] args) {
• 类是对现实世界中一切事物的抽象,类 描述事物的特性和行为,现实世界中的 任何事物都能用类进行描述。
2020/12/10
9
面向对象方法中的一些概念
• 什么是对象
– 类是对现实世界中同类事物所拥有的特性和 服务的一组描述,就像是一个模板,而对象 则是指类的一个实例,是类的具体化。
– 一个类可以有多个实例,每个实例都是不同 的,它们都有各自不同的状态。