python中 面向对象

1,面向对象:

定义:

与面向过程对比:

  • 面向过程:数学逻辑的映射,学会做个好员工
  • 面向对象:生活逻辑的映射,学会做个好领导

官方定义:

  • 类:具有相同特征(属性和行为)的事物的抽象
  • 对象:某个类的具象

编程语言:

  • 类:是一种自定义的数据类
  • 对象:某个类类型的变量

2,面向对象语法

  • 类的定义:

class 类名:

内容

  • 语法说明:
  • 定义类需要使用关键字class
  • 类名:原则上只要符合标识符命名规范即可,但是通常我们都使用大驼峰(每个单词首字母大写)风格命名
  • 如:UserName
  • 类名后面的':'不要忘记
  • 类的内容要进行整体缩进
  • 行为:通过方法体现,在类中定义相关的函数即可(第一个参数通常是self)
  • 属性:通过变量体现,在需要时动态添加,很多时候定义类时没有体现
  • 成员访问:
  • 属性:对象.属性名
  • 方法:对象.方法名()

3,实例:

#定义类

class Person:

#行为通过方法体现

#吃饭

def eat(self):

print('红烧鸡腿我喜欢吃')

#睡觉

def sleep(self):

print('睡觉也是一种生活态度')

#定义对象

liang = Person()

#调用方法

liang.eat()

liang.sleep()

#属性是动态添加的

liang.name = '亮亮'

#获取属性

print(liang.name)

# print(liang)

4,面向对象技术简介

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 实例变量:定义在方法中的变量,只作用于当前实例的类。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。当多个类出现大量相同代码,可以使用继承
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

5,Python内置类属性

  • __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
  • __doc__ :类的文档字符串
  • __name__: 类名
  • __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
  • __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)

6,面向对象的三个特点:

封装

继承

多态

猜你喜欢

转载自blog.csdn.net/qq_42467563/article/details/82974353