day10:面向对象(类和对象:类的定义,类的属性)

一、类和对象
从今天开始我们学习面向对象,学习对象不提两个非常重要的概念:类和实例对象
问题一:什么是类?什么是实例对象?
类:是一类事物的抽象概念(模型),不是真的存在的。描绘了该类共同的特征和行为。
例如:船、车、飞机
day10:面向对象(类和对象:类的定义,类的属性)
实例对象:某类事物的具体个体,是该类事物的具体表现,它是真实存在的。
例如:“辽宁号”是一艘具体的船,“泰坦尼克号”也是
1.类的定义
关键字:class
(1)定义类的语法:
方式一:class类名
方式二:class类名(object)
注意:方式一、方式二定义类是一样的,没有任何区别,只是写法不一样。
(2)类名的命名规范:
1)遵循标识符的命名规范。
2)建议使用大驼峰命名法(每个单词的第一个字符大写)
例如:Hero Cat MyClass TestCase ReadFile
(3)案例
定义一个猫类

# 定义一个猫类
class Cat(object)
	pass

day10:面向对象(类和对象:类的定义,类的属性)

# @time:2019/10/27 10:28
# @Author:coco
# @File:03类的定义.py
# @software:PyCharm

"""
class 类名:
    pass

类命名规范:每个单词的第一个字母必须大写(大驼峰命名)

通过类创建对象:类名()

"""

class Cat:
    pass

# 通过类来创建对象
kt = Cat()
print(kt)

class Myclass:
    pass

m = Myclass()
print(m)

运行结果:
day10:面向对象(类和对象:类的定义,类的属性)
创建实例对象
语法:obj=类名
案例:

# 创建猫类的三个实例对象:kitty,coffee,jingel
Kitty = Cat()
Coffe = Cat()
Jingel = Cat()

对象的组成
day10:面向对象(类和对象:类的定义,类的属性)
2、类属性和实例属性
属性:定义在类中的变量()
(1)类属性
什么是类属性:这个类事物的共同牲
猫类的特性:四条腿、长尾巴、两只眼睛。。。
定义类的属性“

calss Cat (object)
leg = '四条腿'
tail = '长尾巴'
# @time:2019/10/27 10:28
# @Author:coco
# @File:03类的定义.py
# @software:PyCharm

"""
class 类名:
    pass

类属性和实例属性:

类属性:这类事物所有这个属性,属性值都是一样的
    直接在类里面定义的变量叫做类属性
实例属性:这类事物所有的对象都有这个属性,但是属性值是不一样的
    对象.属性 = 属性值


"""


class Cat:
    """
    定义一个猫类
    """
    # 共同的特征(属性)

    # 直接在类里面定义变量叫类属性:这类事物所有这个属性,属性值都是一样的
    leg = '四条腿'
    tail = '长尾巴'

hh= Cat()
kt = Cat()
dd = Cat()

# 定义实例属性
hh.age = 18
kt.age = 20
dd.age = 18
kt.name="凯蒂猫"
hh.name="灰灰"
dd.name="叮当猫"

# 获取属性值:对象.属性(不能通过类去获取实例属性)
print(kt.age)
print(hh.age)

# 类属性获取
# 通过对象可以获取类属性
print(kt.tail)
print(hh.tail)

# 通过类可以获取类属性
print('---------')
print(Cat.tail)

运行结果:
day10:面向对象(类和对象:类的定义,类的属性)
类属性的访问
1)类可以直接访问类属性
2)该类的实例对象也可以访问类属性
实例属性
实例属性:实例对象自己的属性
叮当猫的实例属性:
名字:叮当
年龄:200
黑猫警长的实例属性:
名字:黑猫
年龄:18
给对象添加实例属性
语法格式:对象。属性名=属性值
案例:
Jingle.name=‘叮当’
Jingle.age=18
实例属性的访问
实例属性只有该实例对象自己能访问

3.类方法和实例方法
方法:就是定义在类中的函数
(1)类方法(后面讲)
(2)实例方法
实例方法的定义:

1)实例方法是直接定义在类中
2)实例方法的第一个参数为self(必须要写)
3)案例:猫类的方法定义

上一篇:day10_接口、多态


下一篇:Day10