博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9月14日学习内容整理:初识别面向对象
阅读量:6073 次
发布时间:2019-06-20

本文共 1153 字,大约阅读时间需要 3 分钟。

1、面向过程和面向对象:

(1)面向过程:针对结果编程,流水线式思维,得出固定的结果。优点是好想,但是扩展性差,容易引起安全问题

(2)面向对象:对象就是一个实实在在的,可以准确描述出来的实体

2、定义类

类:具有相同属性和方法的一类事物

对象:具有具体的属性

class  类名  :这就是定义了一种类,类名一般首字母大写

  role =  'assddff'            这就是第一了一种类属性

  def  函数名(self):  这就是定义了一种类方法(动态属性),本质就是函数,有一个必须传递的参数self

3、实例化一个对象

实例化:从类到对象的过程

对象名 = 类名()   这就得到了一个具体的对象

4、调用类方法

对象名.方法名(也就是函数名)()  调用类方法,自动传递参数,这个参数就是对象本身

5、_ _init_ _函数

def  _ _init_ _(self,参数1,参数2,参数3,....)

  self.变量名 =  参数1

  self.变量名 =  参数2

  self.变量名 =  参数3       这里的self相当于字典,self.变量名相当于key,先这么理解

怎么用这个_ _init_ _函数:

对象名 =  类名(参数1,参数2,参数3,...)这样就会自动调用_ _init_ _函数

6、类属性和对象属性

类属性:直接写在类里面的,类名和对象名都可以直接用.属性名调用,

对象属性:写在init里面的self.变量名,只能对象名调用

7、面向对象的交互

对象属性(函数)里加参数,这样就可以实现不同对象(甚至是不同类对象)之间的交互

 

 

注意:

1、不要用对象去调用类属性

2、写面向对象的时候先要搞清楚哪些时一类,哪些是对象,哪些是对象属性

3、面向对象什么时候用:

(1)要用到很多角色,某一类拥有相同的特点或者说是属性

(2)需要反复取传递多个参数

 

举例:

import mathclass Circle():     #定义类    role='circle'     #类属性    def __init__(self,r):            self.r=r     #对象属性    def area(self):           #动态属性        print(math.pi*self.r**2)    def per(self):               print(math.pi*self.r*2)whl=Circle(3)     #实例化对象whl.area()        #调用方法,self就是whlwhl.per()

 

转载于:https://www.cnblogs.com/wanghl1011/articles/7521139.html

你可能感兴趣的文章
PHP中替换换行符
查看>>
Android之更新ListView,位置置顶的问题
查看>>
stl-基本知识
查看>>
windows/linuxjdk安装,jdk1.6升级到1.7
查看>>
回文树(回文自动机) - BZOJ 3676 回文串
查看>>
iphone 如何清空UIWebView的缓存
查看>>
EF里的继承映射关系TPH、TPT和TPC的讲解以及一些具体的例子
查看>>
很好的UI动效设计参考
查看>>
微信硬件平台智能路由行业解决方案
查看>>
S5P4418开发板使用要点
查看>>
【转】Angular运行原理揭秘 Part 1
查看>>
CStdioFile的Writestring无法写入中文的问题
查看>>
从热门话题世界这么大我想去看看想到的:年轻人该如何改变这个世界 无力感越来越强,最后却成为了力量...
查看>>
SGU 548 Dragons and Princesses
查看>>
nginx学习(二):初识配置文件
查看>>
Java设计模式菜鸟系列(两)建模与观察者模式的实现
查看>>
_00023 Kafka 奇怪的操作_001它们的定义Encoder达到Class数据传输水平和决心
查看>>
【转】一个FAE(AE)的体会和大家交流
查看>>
JSPatch 部署安全策略
查看>>
2015/9/22 开通博客园
查看>>