Python零基础学习笔记(四十一)—— 面向对象编程思想
面向对象三大特点:
封装、继承、多态
封装:
在python中,封装就是将有相同属性和功能的事物归纳好之后放在同一个类(class)中
优点:简化代码、便于日后修改和维护
下面定义一个人类作为例子:
里面包含了对象的初始化(构造函数),变量的访问限制(共有变量和私有变量)
class Person(object):
def __init__(self, name, age, money, height):
self.__name__ = name #特殊变量,可以直接访问
self.age = age #普通变量
self.__money = money #私有变量,不能直接访问
self._height = height #可以直接访问,但是请视为私有变量,尽量不要直接访问
def show(self):
print("My name is %s, I am %d years old. I have %d $$."%(self.__name__, self.age, self.__money))
def setMoney(self, money):
if money < 0:
pass
else:
self.__money = money
def getMoney(self):
return self.money
per = Person("Jjking", 23, 50, 60)
per.show()
per.money = 200
per.age = 24
per.show()
per.__money = 200
print(per.__money)
per.setMoney(200)
per.show()
print(per.getMoney())
#动态数据语言的体现,在执行过程中可以添加属性
per.a = 34
print(per.a)
执行结果:
继承:
子类继承父类的属性,父类有的功能和属性(私有除外),子类都可以用
下面是例子:
因为父类是Animal类,定义了eat的行为,子类是Cat类继承了Animal的eat的行为,所以在创建一个cat的对象的时候,这个对象就直接有了cat的行为,因此执行结果就是小白eat
class Animal(object):
def __init__(self, namne):
self.name = namne
def eat(self):
print(self.name + "eat")
class Cat(Animal):
def __init__(self, name):
Animal.__init__(self, name)
cat = Cat("小白")
cat.eat()
#执行结果
小白eat
多态:
用一个例子来理解一下多态,就是有继承,有函数重写,父类引用指向子类对象
#人类
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def whoAmI(self):
return 'I am a Person, my name is %s' % self.name
#学生类
class Student(Person):
def __init__(self, name, gender, score):
super(Student, self).__init__(name, gender)
self.score = score
def whoAmI(self):
return 'I am a Student, my name is %s' % self.name
#老师类
class Teacher(Person):
def __init__(self, name, gender, course):
super(Teacher, self).__init__(name, gender)
self.course = course
def whoAmI(self):
return 'I am a Teacher, my name is %s' % self.name
def who_am_i(x):
print(x.whoAmI())
p = Person('Tim', 'Male')
s = Student('Bob', 'Male', 88)
t = Teacher('Alice', 'Female', 'English')
who_am_i(p)
who_am_i(s)
who_am_i(t)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
什么是PHP或PHP代码以及PHP编程的工作原理
什么是PHP或PHP代码以及PHP编程的工作原理 欢迎大家!在今天的文章中,我们将讨论互联网最重要的编程语言之一PHP。我们将讨论PHP是什么以及PHP编程Langauge的工作原理。这将是一系列文章,涵盖PHP代码的基础知识,以帮助PHP学习者理解该语言。让我们开始吧! Web开发正在兴起,今天从一个非常小的企业到大型组织,每个人都需要一个Web应用程序或网站来连接更多潜在客户。因此,网络开发是一个很好的职业生涯。 有许多技术可用于编程网站,如微软的网络,PHP,Java,Python等。所有这些技术或语言都是惊人的,更容易学习和编程。但PHP编程非常类似于我们所说的语言,英语。因此学习起来容易得多。 什么是PHP代码或PHP编程? PHP编程语言是一种服务器端脚本语言,主要用于Web开发,但也用于通用目的。PHP由Rasmus Lerdorf创建,它最初代表个人主页,但它现在代表PHP:超文本处理器。 编程语言是最流行的服务器端脚本语言。截至2017年5月,PHP在1000万最受欢迎的网站中占83%。最流行的内容管理系统,如WordPress,Joomla,Drupal,Moodl...
-
下一篇
SpringBoot使用Sharding-JDBC分库分表
本文介绍SpringBoot使用当当Sharding-JDBC进行分库分表。 1.有关Sharding-JDBC 有关Sharding-JDBC介绍这里就不在多说,之前Sharding-JDBC是当当网自研的关系型数据库的水平扩展框架,现在已经捐献给Apache,具体可以查看Github,地址是:https://shardingsphere.apache.org/document/current/cn/overview/ shardingsphere文档地址是:https://shardingsphere.apache.org/document/current/cn/overview/。 目前貌似还不能从Maven仓库下载依赖,需要手动下载源码打包使用,所以本文使用的还是当当网的依赖。 2.本文场景 2.1 数据库 接下来介绍一下本文的场景,本
相关文章
文章评论
共有0条评论来说两句吧...