面向对象基础
Posted zhang_kk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象基础相关的知识,希望对你有一定的参考价值。
一、面向对象基础
1、类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
实例变量:定义在方法中的变量,只作用于当前实例的类。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是
模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
实例化:创建一个类的实例,类的具体对象。
方法:类中定义的函数。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
2、创建对象
class Role(object): #创建一个类名是Role,object是新式类的写法 语法规定必须写 def __init__(self,name,role,weapon,lif_value): self.name = name self.role = role self.weapon = weapon self.lif_value = lif_value
class是关键字,表示类
创建对象,类名称后加括号即可
__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法,当类被调用的时候就自动执行这个函数
3、面向对象的三大特性
(1)封装
封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。
所以,在使用面向对象的封装特性时,需要将内容封装到某处
#创建一个类 class Role(object): #构造方法 def __init__(self,name,age,job,salary): self.name = name self.age = age self.job = job self.salary = salary #将变量封装到类里的name,age,job,salary里面 user1 = Role(‘liuyao‘,‘21‘,‘IT‘,‘1000‘) user2 = Role(‘mayun‘,‘22‘,‘IT‘,‘2100‘) self 是一个形式参数,当执行 user1 = Role(‘liuyao‘,‘21‘,‘IT‘,‘1000‘) 时, self 等于user1, 当执行 user2 = Role(‘mayun‘,‘22‘,‘IT‘,‘2100‘) 时, self 等于 user2 所以,内容其实被封装到了对象 obj1 和 obj2 中, 每个对象中都有 name,age,job,salary 属性
从某处调用
#创建一个类 class Role(object): #构造方法 def __init__(self,name,age,job,salary): self.name = name self.age = age self.job = job self.salary = salary #将变量封装到类里的name,age,job,salary里面 #实例化 user1 = Role(‘liuyao‘,‘21‘,‘IT‘,‘1000‘) user2 = Role(‘mayun‘,‘22‘,‘IT‘,‘2100‘) #调用name print (user1.name) #调用age print (user1.age) #调用name print (user2.name) #调用age print (user2.age)
2、继承
继承,面向对象中的继承和现实生活中的继承相同,即:子可以继承父的内容
面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
Ø 实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
Ø 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力
以上是关于面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章