一、简介
面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用
二、OO(面向对象)和OOP(面向对象的编程)
1、什么是OO
OO(Object–Oriented )面向对象,OO方法(Object-Oriented Method,面向对象方法,面向对象的方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,Object Oriented是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
2、什么是OOP
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。
3、核心思想
封装
也就是把客观事物封装成抽象的类或具体的对象,并且类或对象可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承
可以让某个类型的对象获得另一个类型的对象的属性的方
多态
不同实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。
4、OOP 主要目标:
- 重用性
- 灵活性
- 扩展性
-
注意面向对象的程序设计并不是全部,只是解决了软件设计的扩展性
三、OOP术语概述
- 类
用于定义表示用户定义对象的一组属性的原型。属性是通过点符号访问的数据成员(类变量和实例变量)和方法。 - 类变量
由类的所有实例共享的变量。 类变量在类中定义,但在类的任何方法之外。 类变量不像实例变量那样频繁使用。 - 数据成员
保存与类及其对象相关联的数据的类变量或实例变量。 - 函数重载
将多个行为分配给特定函数。 执行的操作因涉及的对象或参数的类型而异。 - 实例变量
在方法中定义并仅属于类的当前实例的变量 - 继承
将类的特征传递给从其派生的其他类 - 实例
某个类的单个对象。 例如,对象obj
属于Person
类,它是Person
类的实例 - 实例化
创建类的实例 - 方法
在类定义中定义的一种特殊类型的函数 - 对象
由其类定义的数据结构的唯一实例。对象包括数据成员(类变量和实例变量)和方法。 - 运算符重载
将多个函数分配给特定的运算符
四、类和对象
1、概要
现实中我们通过描述属性(特征)和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征。它会汪汪叫,会摇尾巴等是它的行为。
我们在描述一个真实对象(物体)时包括两个方面:
- 它可以做什么(行为)
- 它是什么样的(属性或特征)
2、先有对象还是先有类
- 在做面向对象分析的时候, 一般是先有对象, 然后把对象的共性抽象出来, 然后就形成了类
- 编写代码的时候, 一般是先完成类的编写, 然后在需要的时候创建对象就可以了
类 是创建实例的模板,而 实例 则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响