当前位置: 首页 > news >正文

网站怎样和首页做链接/北京出大大事了

网站怎样和首页做链接,北京出大大事了,福州市住房和城乡建设局网站,产品设计公司运营本节内容:面向对象编程介绍为什么要用面向对象进行开发?面向对象的特性:封装、继承、多态类、方法。转载:  http://www.cnblogs.com/alex3714/articles/5188179.htmlhttp://www.cnblogs.com/alex3714/articles/5213184.htmlhttp…
本节内容:
面向对象编程介绍
为什么要用面向对象进行开发?
面向对象的特性:封装、继承、多态
类、方法。
转载:  http://www.cnblogs.com/alex3714/articles/5188179.html
http://www.cnblogs.com/alex3714/articles/5213184.html
http://www.cnblogs.com/wupeiqi/articles/5017742.html

一、面向对象的3大特性:

封装(把一些功能的实现细节不对外暴露)

封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

继承(代码的重用)

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

通过继承创建的新类称为“子类”或“派生类”。

被继承的类称为“基类”、“父类”或“超类”。

继承的过程,就是从一般到特殊的过程。

要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。

在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。

继承概念的实现方式主要有2类:实现继承、接口继承。

Ø         实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø         接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力(子类重构爹类方法);
在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。
抽象类仅定义将由子类创建的一般属性和方法。

OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。

单继承和多继承:  其中多继承在 py2 经典类是按深度优先来继承的,新式类是按广度优先来继承的----py3 经典类和新式类都是统一按广度优先来继承的

代码示例:  super(继承的类名,self).__init__(变量)

 

多态(接口重用,一种接口,多种实现)

多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
 
Pyhon 很多语法都是支持多态的,比如 len(),sorted(), 你给len传字符串就返回字符串的长度,传列表就返回列表长度。

二、类的成员

类的成员可以分为三大类:字段、方法和属性

 

一、字段

字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同,

class Province:# 静态字段country = '中国'def __init__(self, name):# 普通字段self.name = name# 直接访问普通字段
obj = Province('河北省')
print obj.name# 直接访问静态字段
Province.country
View Code

二、方法

方法包括:普通方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。

  • 普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self
  • 类方法:由调用; 至少一个cls参数;执行类方法时,自动将调用该方法的复制给cls
  • 静态方法:由调用;无默认参数;

细分:

静态方法通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法

类方法:通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量

属性方法:属性方法的作用就是通过@property把一个方法变成一个静态属性
新式类,具有三种@property装饰器,由于新式类中具有三种访问方式,我们可以根据他们几个属性的访问特点,分别将三个方法定义为对同一个属性:获取、修改、删除

三、反射

通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法
反射即想到4个内置函数分别为:getattr、hasattr、setattr、delattr  获取成员、检查成员、设置成员、删除成员下面逐一介绍先看例子:
class Foo(object):def __init__(self):self.name = 'abc'def func(self):return 'ok'obj = Foo()
#获取成员
ret = getattr(obj, 'func')#获取的是个对象
r = ret()
print(r)
#检查成员
ret = hasattr(obj,'func')#因为有func方法所以返回True
print(ret)
#设置成员
print(obj.name) #设置之前为:abc
ret = setattr(obj,'name',19)
print(obj.name) #设置之后为:19
#删除成员
print(obj.name) #abc
delattr(obj,'name')
print(obj.name) #报错
View Code

 

转载于:https://www.cnblogs.com/liguanqiu/p/6697540.html

http://www.lbrq.cn/news/739405.html

相关文章:

  • 网站制作的订单/找关键词的三种方法
  • 凉山网站建设/网络营销策划推广公司
  • 建设银行E路航如何自动进入网站/品牌营销策略有哪些方法
  • 顺天亿建设网站/外链工厂
  • 北京网站建设的服务公司/seo网站怎么搭建
  • 网站建设中怎么解决/看广告赚钱一天50元
  • 政府网站集约化建设的好处/怎么做百度网页推广
  • 建个站的免费网站能上百度吗/销售的三个核心点
  • 漳州市政府门户网站建设/百度下载并安装到桌面
  • web版wordpress/seo公司排行
  • 免费空间申请2018/官网seo优化
  • wordpress源码系统下载地址/南京百度网站快速优化
  • 新手卖家做来赞达网站如何/引流推广平台
  • flash做的小动画视频网站/怎么做手工
  • php不用框架怎么做网站/制作网站要多少费用
  • 东莞网站建设有什么网络公司/厦门百度推广排名优化
  • 公司网站制作内容/制作一个网站的费用是多少
  • 深圳国税局网站怎么做票种核定/大庆建站公司
  • 企业官网门户网站管理系统/保定百度seo公司
  • 设计类专业介绍/seo推广优化培训
  • 蒙阴建设局网站/网络推广引流有哪些渠道
  • 上海门户网站制/合肥seo整站优化
  • 不懂英文怎么做英文的seo网站/鄞州seo服务
  • 电脑网页打不开怎么解决/关键词快速优化排名软件
  • dw做旅游网站毕业设计模板下载/网站快速建站
  • 怎么看网站开发语言/免费python在线网站
  • 加强县政府网站建设的几点建议/软件排名优化
  • 淘宝店招免费做的网站有/网站做优化好还是推广好
  • 网页的响应式布局/免费关键词优化工具
  • 网站宽屏背景/seo网络营销外包
  • NPM组件 @angular_devkit/core 等窃取主机敏感信息
  • Feign - 降级选 fallback 还是 fallbackFactory
  • 电源、电流及功率实测
  • 大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
  • 特赞内容运营解决方案,AI重构品牌内容价值链
  • 25年第十本【金钱心理学】