ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第十九节课:面向对象的基础

2020-11-30 07:35:59  阅读:191  来源: 互联网

标签:p1 第十九 -- self Person 面向对象 实例 节课 属性


# 本节课大纲:
'''
1- 类与实例
2- 实例属性与静态属性
3- 实例方法与静态方法
面向对象的语言 VS 面向对象的设计
@面向对象的设计:是一种设计思路
@面向对象的语言:提供对面向对象设计的语言支持
@非面向对象的语言也能实现面向对象的设计思路
'''

# 1- 类与实例
'''
类:是一类具有相同特征的事物的统称
显示不存在--是一种抽象的概念--人类,鸟类
'''
#python中类的定义:
# class ClassName:
# 'class documentation string'
# class_suite
# #关键字 class,类名(通常首字母大写)
# class Tiger:
# classname='tiger'
# #属性(attribute):classname是一个属性.定义类的例子:
# class Person: #注意,类名首字母一定要大写
# pass #到此就定义好了一个类
'''
实例:在这个类里面具体存在的个体
实例是类的具体实例化体现
注意:对象的概念就更大了,类和实例都包含在对象里面,一切皆可为对象
'''
#python中实例的创建:
# python类:
# class Tiger:
# classname='tiger'
# # 实例化:
# t1=Tiger()
# # 实例化之后可以访问其属性:
# t1.classname
# 怎么创建实例?很简单:类名() 如:
class Person: #创建了一个类
pass
p1=Person() #将类实例化,为了方便后期操作,通常用一个变量去接收实例化的类

# 2- 属性:
'''
类:类的属性包含特征和行为
1- 特征--俗称
术语--属性
本质--变量
2- 行为--俗称
术语--方法
本质--函数
属性:
1-概念:本质是类里面的一个变量.俗称特征
2-静态属性--这个属性是每个实例都有的,如nickname:人类
3-实例属性--不同了类有不同的属性,这个叫实例属性,如张三李四王五,身高体重哪些
'''
# *1 创建实例:
# class Person: #创建了一个类
# name='人类'#类属性,这个类所有的实例都是一样的--共有的
# #对于实例来说,有些实例的不同实例是不一样的,实例属性属于实例,如p1是20岁,p2是30岁
# p1=Person() #将类实例化,为了方便后期操作,通常用一个变量去接收实例化的类
# print(p1.name) #调用方法:实例.属性
# print(Person.name)#调用方法:类.属性
# *2 静态(类)属性 调用方法: 实例.属性 ; 类.属性(上一行属于实例.属性)
# class Person: #创建了一个类
# name='人类'
# def __init__(self): #初始化方法,创建实例会自动调用
# print('我执行啦!',self) #打印得:我执行啦! <__main__.Person object at 0x0000014B166F9588>
# p1=Person()#这里创建了p1,打印出来和定义里面的self一致,说明实例化哪个东西,哪个东西就是self本身
# p2=Person()#这里创建了p2,打印出来的地址不一样,这个地址在:0x000001E335339518
# # print(p1,p2) #打印得:<__main__.Person object at 0x0000014B166F9588>
# class Person: #创建了一个类
# nickname='人类'
# def __init__(self,name1,age1): #初始化方法,创建实例会自动调用.
# self.name=name1 #注意,self作用特别大,当是用p1接收实例化,self代表p1,如果是用p2实例化,self代表p2
# self.age=age1 #这两个步骤完成了传实参
# p1=Person('tom',23)
# p2=Person('升职加薪',66)
# # 2- 实例属性
# print(p1.name) #打印得:tom
# print(p2.name,p2.age) #打印得:升职加薪 66
# # print(p1.nickname)

# 3- 对象的方法:
'''
*1概念--通过定义在类里面的函数
*2实例方法--每个具体实例相关的方法---本质是一个函数
*3静态方法--共有的方法,与每个具体实例无关---本质是一个函数
'''
class Person:
Nickname='人类'
def __init__(self,iname,iage,iweight):
self.name=iname
self.age=iage
self.weight=iweight
def eat(self): #创建一个实例方法
self.weight +=10
print(str(self.name)+'今年有'+str(self.age)+'岁了,他现在在吃饭,现在有'+str(self.weight)+'斤了') #这里是为了调用
p1=Person('张三',23,120)
p2=Person('李四',24,130)
print(p1.Nickname)
p1.eat()#如果是p1调用,打印得:张三今年有23岁了,他现在在吃饭,现在有130斤了
p2.eat()#如果是p2调用,打印得:李四今年有24岁了,他现在在吃饭,现在有140斤了
# ***谁调用就执行谁,这就是实例化方法


标签:p1,第十九,--,self,Person,面向对象,实例,节课,属性
来源: https://www.cnblogs.com/66-liu/p/14059281.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有