面向对象和面向过程理解
面向过程和面向对象都是用来解决问题的,只是解决问题的思路不同
面向过程可以理解为亲力亲为,在程序中面向过程编程就是函数之间的一个相互调用,一函数为基本结构使用 面对对象可以理解为坐享其成,在程序中面向对象编程是以对象为机构为机构使用。
类:
是对一群具有相同特征或者行为的事物的统称 ,是抽象的,不能直接使用
类的设计:
在程序中设计一个类,通常需要满足三个要素:
#类名: 大驼峰命名法
#属性: 描述这些事物的特征
#方法: 描述这些事物的具体
创建类
# class Dog:
# def eat(self):
# print('吃骨头....')
#
# def sleep(self):
# print('睡觉了...')
创建对象
# 格式:对象名称(变量名)=类名()
# dog=Dog()
# dog.eat()
# dog.sleep()
# print(id(dog))
#
#又创建了一个
# dog1=Dog()
# dog1.sleep()
# dog1.eat()
# print(id(dog1))
# dog = Dog()
# print(id(dog))
# dog1 = Dog()
# print(id(dog1))
# dog = dog1#将dog1的内存地址赋值给了dog
# print(id(dog))
# print(id(dog1))
——————————————————————————————————————————————~
class Person:
def study(self):
print('屏幕前的你.')
def eat(self):
print('愿你贪吃不胖.')
def sleep(self):
print('愿你懒惰不起')
zs = Person()
zs.study()
zs.eat()
zs.sleep()
self 变量:那个对象调用方法或者属性,self便是那个对象
#self变量名称是可以修改的,但是不建议大家修改
# class Person:
# def eat(self):
# print(self,name,'吃。。。')
# person=Person()
# person.name='zs'
# person.eat()
_
_init__方法
‘’’
init()初始化方法在对象创建的时候自动执行 我们可以在此方法中做一些初始化操作
‘’’
# class Cat:
# def __init__(self):
# print('init方法在创建对象的时候执行')
# self.name='蓝猫' #给对象添加一个name 属性
# def eat(self):
# print('猫吃老鼠..')
# print(self.name)
#
# bule_cat=Cat()
# bule_cat.eat()
#
# black_cat=Cat()
# black_cat.eat()
加强版
# class Cat:
# def __init__(self,name):
# print('init方法在创建对象的时候执行')
# self.name=name #给对象添加一个name 属性
# def eat(self):
# print('猫吃老鼠..')
# print(self.name)
#
# bule_cat=Cat('蓝猫')
# bule_cat.eat()
#
# black_cat=Cat('黑猫')
# black_cat.eat()
超强版
# class Cat:
# def __init__(self, name, age):
# print('initFangfa ')
# self.name = name
# self.age = age
#
# def eat(self):
# print('猫吃老鼠')
# print(self.name)
#
# def __str__(self):#
# msg = 'name的属性是{},age的属性是{}'.format(self.name,self.age)
# return msg
#
#
# cat = Cat('蓝猫', 7)
# cat.eat()
# print(cat)