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

网站建设可研百度刷排名百度快速排名

网站建设可研,百度刷排名百度快速排名,哪个网站做任务能赚钱,建设银行重置网站查询密码一、封装 我们清楚的知道有些内容我们可以去开源,但是有内容我们需要去限制用户对其的操作,以至于维持整个系统的正常操作。下面要讲的内容就是关于权限控制的知识。 1.封装的定义:隐藏内部细节,对外是提供一些操作方式。 2.权…

一、封装

我们清楚的知道有些内容我们可以去开源,但是有内容我们需要去限制用户对其的操作,以至于维持整个系统的正常操作。下面要讲的内容就是关于权限控制的知识。

1.封装的定义:隐藏内部细节,对外是提供一些操作方式。

2.权限控制:通过对属性和方法添加单下划线双下划线以及首尾双下滑线来实现。

(1)单下滑线开头:以单下划线开头的属性或方法是受到保护的成员,这部分成员被视为只供内部使用,允许类本身和子类进行访问,但实际上他可以被外部代码访问。

 注:表示可以被强硬访问。

(2)双下划线开头:表示私有成员,这类成员只允许定义该属性或方法的类本身进行访问

(3)首尾下划线:一般表示特殊的方法。

3.权限控制的运用:

class Student():#首尾双下划线def __init__(self,name,age,gender):self._name=nameself.__age=ageself.gender=genderdef _fun1(self):print('子类及本身可以访问')def __fun2(self):#私有的print('只有定义的类可以访问')def show(self):self._fun1()self.__fun2()print((self._name))print(self.__age)#创建一个学生对象
a=Student('wjl',19,'男')#私有的实例属性和实例方法也能访问
print(a._Student__age)
a._Student__fun2()

4.说明:前面我们提到了不能对私有的属性和方法进行访问(访问的意思就是进行调用),其实私有的属性和方法也可以进行访问(进行调用)。

 私有的实例属性和实例方法的访问:

#私有的实例属性和实例方法也能访问
print(a._Student__age)
a._Student__fun2()

5.但是这种方法是不提倡的,我们会使用下面的这种方法。

class student():def __init__(self,name,gender):self.name=nameself.__gender=gender@propertydef gender(self):return self.__genderstu=student('w','男')
print(stu.name,stu.gender)

 6.我们能通够对私有的属性进行访问,同时我们还可以将私有属性设置为可写属性。

class student():def __init__(self,name,gender):self.name=nameself.__gender=gender#将我们的gender这个属性设置为可写属性@gender.setterdef gender(self,value):if value!='nan'and value!='女':print('有误的,已将性别设置为默认值。')self.__gender='男'else:self.__gender=valuestu.gernder='其他'
print(stu.name,stu.gender)

二、继承

1.继承的定义:在Python中一个子类可以继承N多个父类一个父类也可以拥有N个子类,如果一个类也没有继承任何类,那么这个类默认继承的是object类

2.继承的语法结构:

class 类名(父类1,父类2,...,父类N):pass

3.继承的应用:

class person():def __init__(self,name,age):self.name=nameself.age=agedef show(self):print(f'大家好,我叫:{self.name},今年:{self.age}')#student继承person类
class student(person):#编写初始化的方法:用于设置对象的属性def __init__(self,name,age,stuno):super().__init__(name,age)self.stuno=stuno#doctor继承person类
class doctor(person):#编写初始化方法def __init__(self,name,age,depertment):super().__init__(name,age)self.depertment=depertment#创建一个学生类的对象
stu=student('wjl',19,1002)
stu.show()
doctor=doctor('zyy',24,'外科')
doctor.show()

注:子类能继承父类的公开的和受保护的内容。

4.python当中的多继承

class fathera():def __init__(self,name):self.name=namedef showa(self):print('fathera的方法')class fatherb():def __init__(self,age):self.age=agedef showb(self):print('fatherb的方法')#多继承
class son(fathera,fatherb):def __init__(self,name,age,gender):#需要调用两个父类的初始化方法fathera.__init__(self,name)fatherb.__init__(self,age)self.gender=genderson=son('wjl',19,'男')
son.showa()
son.showb()

注:通过上面我们可以得知,一个类的属性不只有一种,其功能(也就是所说的方法)也不只有一种。

5.方法重写

(1)方法重写的介绍:

a.子类继承了父类就拥有了父类中公有成员和受保护的成员
b.父类的方法并不能完全适合子类的需求,这个时候子类就可以重写父类的方法;
c.子类在重写父类的方法时,要求方法的名称必须与父类方法的名称相同。在子类重写后的方法中,可以通过 super().xxx() 调用父类中的方法

(2)方法重写的运用:

class person():def __init__(self,name,age):self.name=nameself.age=agedef show(self):print(f'大家好,我叫:{self.name},今年:{self.age}')#student继承person类
class student(person):#编写初始化的方法:用于设置对象的属性def __init__(self,name,age,stuno):super().__init__(name,age)self.stuno=stunodef show(self):super().show()print(f'我来自XXX大学,我的学号是:{self.stuno}')#doctor继承person类
class doctor(person):#编写初始化方法def __init__(self,name,age,depertment):super().__init__(name,age)self.depertment=depertmentdef show(self):#super().show()print(f'大家好,我叫:{self.name},我今年{self.age},我的工作室是:{self.depertment}')#创建一个学生类的对象
stu=student('wjl',19,1002)
stu.show()#调用的子类的,子类中有show()方法就用子类的
doctor=doctor('zyy',24,'外科')
doctor.show()

注:现已经在重写方法时,子类自己有方法,那么就用子类自己的方法,否则的话就调用父类的。

 三、多态

1.多态的描述:

(1)“指的就是‘多种形态’,即便不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用对象的方法。

(2)在程序运行过程中根据变量所引用对象的数据类型,动态决定调用哪个对象中的方法

注:动态决定调用哪个对象中的方法,可以提高程序的可拓扩展性。

(3)Python语言中的多态,根本不关心对象的数据类型,也不关心类之间是否存在继承关系,只关心对象的行为(方法)。只要不同的类中有同名的方法,即可实现多态。”

 注:只关心同名的方法。

2.多态的运用:

class person():def eat(self):print('1')class cat():def eat(self):print('2')class dog():def eat(self):print('3')#这三个类中都有一个同名方法,eat
#编写函数
def fun(obj):#obj是函数的形式参数,在定义处并不知道这个参数的数据类型obj.eat()#通过变量obj()#创建三个类的对象
per=person()
cat=cat()
dog=dog()#调用fun函数
fun(per)
fun(cat)
fun(dog)

http://www.dtcms.com/wzjs/450732.html

相关文章:

  • 做网站模板的海报尺寸多少钱长沙今日头条新闻
  • 域名怎么解析到服务器上seo平台代理
  • javascript网页设计教程seo顾问咨询
  • 彩票网站有人做吗seo查询友情链接
  • 哪个网站做售楼推广好潍坊网站建设seo
  • 网站不支持php小红书笔记关键词排名优化
  • 做直播网站有哪些百度seo怎么优化
  • 如何做旅游小视频网站it培训机构有哪些
  • 网站目前如何做外链下载谷歌浏览器并安装
  • java做网站开发的流程百度推广总部电话
  • 深圳效果图制作公司seo零基础入门教程
  • 网站建设与网页设计制作书籍短信广告投放
  • 劳务公司网站建设方案广州网站seo
  • 毕设做网站答辩会要求当场演示吗百度搜索关键词统计
  • 阿克苏网站建设seo是指什么
  • 怎样将自己做的网页加入网站百度搜索引擎api
  • 哔哩哔哩网页版怎么缓存视频威海seo公司
  • 网站运营每天做的百度搜索风云榜单
  • 常州哪家网站建设公司专业博客可以做seo吗
  • 有哪些能做专门接做标书的网站百度高级搜索技巧
  • 手机p2p网站开发网络营销的具体形式种类
  • 做微信投票的网站5电子商务seo是什么意思
  • 源码制作网站郑州网站建设哪里好
  • wordpress免费主题排行榜北京搜索引擎优化经理
  • redis做缓存的网站并发数昆明seo优化
  • 做h5的网站页面设计东莞seo黑帽培训
  • 网站怎么做优化步骤就业seo好还是sem
  • 找人做网站应该注意哪些湖南seo推广系统
  • 网站建设网站制作需要多少钱点击软件
  • 怎么给网站做快照seo外链发布平台