面向对象简介
什么是面向对象
面向对象是一种编程范式,它将程序中的数据和操作封装在一个对象中,从而使得程序更加模块化、可重用和易于维护。在面向对象编程中,对象是类的实例化,类是一种抽象的数据类型,它定义了一组属性和方法。
面向对象编程的核心思想是封装、继承和多态。封装是将数据和操作封装在一个对象中,隐藏对象的内部实现细节,只暴露必要的接口给外部访问。继承是通过继承父类的属性和方法,来创建一个新的子类,子类可以重写父类的属性和方法,从而实现更加灵活的功能。多态是指同一个方法可以根据不同对象的实现方式,实现不同的行为。
类与对象
类与对象是面向对象编程中的两个重要概念。
类是一种抽象的数据类型,它定义了一组属性和方法,描述了一类对象的共同特征和行为。
对象是类的实例化,是具体的数据实体,具有类所定义的属性和方法。
对象是类的实例化,是具体的数据实体,具有类所定义的属性和方法。
Python使用class关键字定义类,使用实例化来创建对象。下面是一个简单的Python类的例子:
class Person: def __init__(self, name, age): self.name = name self.age = age def eat(self): print(self.name + " is eating.") def sleep(self): print(self.name + " is sleeping.") def work(self): print(self.name + " is working.")
这个类名为Person,它有两个属性name和age,以及三个方法eat、sleep和work。__init__方法是特殊的方法,它在创建对象时被调用。self参数是指向对象本身的引用,可以在方法内部使用来访问对象的属性和方法。
要创建一个Person对象,可以使用如下代码:
p = Person("Tom", 20)
这个例子创建了一个名为p的Person对象,它的name属性为"Tom",age属性为20。
可以通过对象的属性和方法来访问和修改对象的状态:
print(p.name) # 输出"Tom" p.eat() # 输出"Tom is eating." p.name = "Jerry" p.sleep() # 输出"Jerry is sleeping."
这个例子输出p的name属性,调用p的eat方法,然后修改p的name属性,最后调用p的sleep方法。
再举个栗子帮助大家理解:
class WashingMachine: h = 850 w = 460 c = 595 brand = '海尔' # self 自己 具体的一个对象 def __init__(self): self.__color = 'red' # 设置属性或者方法为私有方法 # 在属性或者方法前加两根下划线 def get_color(self): """获取颜色""" return self.__color def set_color(self, color): """设置颜色""" if color in ['red', 'blue', 'yellow']: self.__color = color else: print('违规的颜色') def start(self): print('启动洗衣机,开始洗衣服') def stop(self): print('关闭洗衣机') # 类通过加括号来进行使用 生成一个具体的对象 haier1 = WashingMachine() haier1.set_color('blue') # 通过给予的修改方法,去修改对象里面的颜色 print(haier1.get_color()) # 通过get方法获取当前的颜色
运行结果:
在类的初始化方法__init__中,使用self.__color来定义了一个私有属性__color,并提供了get_color和set_color方法来获取和设置颜色。在set_color方法中,判断给定的颜色是否合法,如果不合法则输出提示信息。
通过创建对象haier1,并使用set_color方法修改颜色为’blue’,然后使用get_color方法获取当前颜色,并输出到控制台。