什么是面向过程
先知道两个知识点
Pv page visit 页面访问量
Uv user visit 独立IP访问量
我们用伪代码来表示

面向对象的核心
类
一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。在类中定义了这些对象的都具备的属性、共同的方法
对象
相当于一个类的实例化
继承
一个类可以派生出子类,在这个父类里定义的属性、方法自动被子类继承
封装
在类中对数据的赋值、内部调用外部用户是透明的,这使类变成了一个胶囊或者容器,里面包含着类的数据和方法
多态
类的基本语法

下面有一张图描述了实例化的过程(self代表实例本身)

类属性,也叫类变量都是公共属性,所有实例共享
实例属性,也叫实例变量,也叫成员变量,每个实例独享
class Dog:
type = "你猜"
def __init__(self, name):
self.name = name
print(Dog.type) # 直接通过类本身去调用
d = Dog("藏獒") # 实例化Dog的对象
Dog.type = "dasdsad"
print(d.type) # 通过实例对象去调用
print(Dog.type)
print(d.name) # 打印实例化的属性
print(Dog.name)

可以看到类本身是无法调用实例化属性的,只能是调用共有的属性!!!
d.type = "***"
print(d.type) # 等于是重新创建了一个新的共有属性
print(Dog.type)

类之间的交互
class Dog:
role = 'dog'
life_val = 100
def __init__(self, name, breed, attack_val):
self.name = name
self.breed = breed
self.attack_val = attack_val
def bite(self, person):
person.life_val -= self.attack_val
print("%s咬了%s一口,扣除%d血量,剩余血量%d" % (self.name, person.name, self.attack_val, person.life_val))
class Person:
role = 'person'
life_val = 100
def __init__(self, name, breed, attack_val):
self.name = name
self.breed = breed
self.attack_val = attack_val
def chop(self, dog):
dog.life_val -= self.attack_val
print("%s砍伤%s一口,扣除%d血量,剩余血量%d" % (self.name, dog.name, self.attack_val, dog.life_val))
# 实例化dog和person
d = Dog("旺财", "牧羊犬", 10)
d1 = Dog("阿三", "藏獒", 90)
p = Person("阿布","猎人",80)
d1.bite(p)
p.chop(d)

本文介绍了面向对象编程的基础概念,包括类、对象、继承、封装和多态。通过伪代码展示了类的实例化过程,强调了类属性和实例属性的区别。同时,通过Dog和Person类的交互示例,解释了对象间的方法调用,如咬人和砍伤操作,展示了类的动态行为。
2311

被折叠的 条评论
为什么被折叠?



