面向对象一

本节主要内容:

1.  面向对象和⾯面向过程

2. 面向对象如何编写

3. 面向对象和面向过程大PK

4. ⾯面向对象三⼤大特征

1.面向流程:面向流程是以事务的流程为核心,重点是过程,过程就是先干什么再干什么

优点:负责问题的流程化,编程简单

缺点:可拓展性较差

2. 面向对象: 一切以对象为中心

面向对象:万事万物皆为对象

优点:可拓展性较强

缺点:相对于面向过程编程较为复杂

二. 面向对象如何编写

# class Dashi:
# def __init__(self,chifan,shuijiao,saodi):
# self.chifan = chifan
# self.shuijiao = shuijiao
# self.saodi = saodi
# def meitian(self):
# print("一天就是%s和%s和%s" %(self.chifan,self.shuijiao,self.saodi))
# heshang = Dashi("吃饭","睡觉","扫地")
# heshang.meitian()

# class User:
# def __init__(self,username,password):
# self.username = username
# self.password = password
# def login(self,uname,upwd):
# if uname ==self.username and upwd == self.password:
# return True
# else:
# return False
# u1 = User("alex","123")
# ret = u1.login(input("请输入用户名"),input("请输入密码"))
# print(ret)

总结: 类与对象的关系: 
类是对事物的总结. 抽象的概念念. 类用来描述对象.
对象是类的实例 化的结果. 对象能执行哪些⽅方法. 都由类来决定. 类中定义了什么. 对象就拥有什么

——intin——是构造方法,self是他自己

四. ⾯面向对象的三⼤大特征   
⾯面向对象三⼤大特征: 封装, 继承, 多态. 只要是⾯面向对象编程语⾔言. 都有这三个特征.
1. 封装:  把很多数据封装到⼀一个对象中.  把固定功能的代码封装到⼀一个代码块, 函数, 对 象,  打包成模块. 这都属于封装的思想.
具体的情况具体分析. 比如. 你写了了⼀一个很⽜牛B 的函数. 那这个也可以被称为封装. 
在⾯面向对象思想中. 是把⼀一些看似⽆无关紧要的内容 组合到⼀一起统⼀一进⾏行行存储和使⽤用. 这就是封装.
2. 继承:  ⼦子类可以⾃自动拥有⽗父类中除了了私有属性外的其他所有内容.  说⽩白了了, ⼉儿⼦子可以 随便便⽤用爹的东⻄西.
但是朋友们, ⼀一定要认清楚⼀一个事情. 必须先有爹, 后有⼉儿⼦子.  顺序不 能乱,  在python中实现继承非常简单.
在声明类的时候, 在类名后⾯面添加⼀一个⼩小括号, 就可以完成继承关系. 那么什什么情况可以使⽤用继承呢? 
单纯的从代码层⾯面上来看.  两 个类具有相同的功能或者特征的时候. 可以采⽤用继承的形式.
提取⼀一个⽗父类, 这个⽗父类 中编写着两个类相同的部分. 然后两个类分别取继承这个类就可以了了.
这样写的好处 是我们可以避免写很多重复的功能和代码.  如果从语义中去分析的话. 会简单很多. 如
果语境中出现了了x是⼀一种y. 这时, y是⼀一种泛化的概念念. x比y更更加具体. 那这时x就是y的 ⼦子类.
比如. 猫是⼀一种动物. 猫继承动物. 动物能动. 猫也能动. 这时猫在创建的时候就 有了了动物的"动"这个属性. 
再比如,  ⽩白骨精是⼀一个妖怪.  妖怪天⽣生就有⼀一个比较不好 的功能叫"吃⼈人", 
⽩白骨精⼀一出⽣生就知道如何"吃⼈人". 此时 ⽩白骨精继承妖精. 话不多说. 上代码.

 

posted @ 2018-11-06 19:52  DanielYang11  阅读(178)  评论(0编辑  收藏  举报