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

佳木斯做微网站今日要闻10条

佳木斯做微网站,今日要闻10条,做网站学什么,怎么把网站推广目录 专栏列表前言一、面向对象编程概述1.1 类和对象1.2 继承1.3 多态1.4 封装 二、Python 中的类和对象2.1 定义类2.2 __init__ 函数解释2.3 创建对象 三、继承3.1 基本继承3.2 创建子类对象 四、多态五、封装六. 访问限制七、综合实例结语 专栏列表 Python教程(一…

目录

    • 专栏列表
    • 前言
    • 一、面向对象编程概述
      • 1.1 类和对象
      • 1.2 继承
      • 1.3 多态
      • 1.4 封装
    • 二、Python 中的类和对象
      • 2.1 定义类
      • 2.2 `__init__` 函数解释
      • 2.3 创建对象
    • 三、继承
      • 3.1 基本继承
      • 3.2 创建子类对象
    • 四、多态
    • 五、封装
    • 六. 访问限制
    • 七、综合实例
    • 结语

专栏列表

  • Python教程(一):环境搭建及PyCharm安装
  • Python 教程(二):语法与数据结构
  • Python 教程(三):字符串特性大全
  • Python 教程(四):Python运算符合集
  • Python 教程(五):理解条件语句和循环结构
  • Python 教程(六):函数式编程
  • Python 教程(七):match…case 模式匹配
  • Python 教程(八):高级特性【高逼格代码】
  • Python 教程(九):内置模块与第三方模块
  • Python教程(十):面向对象编程(OOP)

在这里插入图片描述

正文开始如果觉得文章对您有帮助,请帮我三连+订阅,谢谢💖💖💖


前言

在现代编程中,面向对象编程(OOP)是一种非常重要的编程范式。Python 作为一种高级编程语言,广泛支持面向对象编程。本篇文章将详细介绍 Python 中 OOP 的基本概念和应用,并通过实例帮助你更好地理解和掌握 OOP。

一、面向对象编程概述

面向对象编程是一种将现实世界中的概念映射到程序中的编程范式。在 OOP 中,基本概念包括类(Class)、对象(Object)、继承(Inheritance)、多态(Polymorphism)和封装(Encapsulation)。

1.1 类和对象

  • 类(Class):类是一个模板,用于定义对象的属性和行为。
  • 对象(Object):对象是类的实例,通过类创建。

1.2 继承

继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。这样可以重用代码,减少冗余。

1.3 多态

多态允许不同类的对象以相同的方式调用方法,即使这些方法在不同的类中有不同的实现。

1.4 封装

封装是一种将数据和方法绑定在一起,并隐藏对象的内部实现细节的机制。

二、Python 中的类和对象

2.1 定义类

  • 在 Python 中,可以使用 class 关键字定义一个类。
class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):print(f"Hello, 我叫 {self.name} ,今年 {self.age} 岁")

2.2 __init__ 函数解释

  • 由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法(java 中称为:构造函数),在创建实例的时候,就把nameage等属性绑上去:
  • 注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到 self,因为 self 就指向创建的实例本身。
  • 有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去

2.3 创建对象

使用类名调用,可以创建对象(实例)。

user = Person("子羽", 30)
user.greet()  # 输出: Hello, 我叫 子羽 ,今年 30 岁

三、继承

3.1 基本继承

在 OOP 程序设计中,当我们定义一个 class 的时候,可以从某个现有的 class 继承,新的 class 称为子类(Subclass),而被继承的 class 称为基类、父类或超类(Base class、Super class)。
通过继承,可以创建一个新的类,这个新类继承了父类的属性和方法。

例如当我们的 A 类需要继承 B 类,我们可以学成 A(B)

示例代码

class Person:def __init__(self, name, age):self.name = nameself.age = agedef greet(self):print(f"Hello, 我叫 {self.name} ,今年 {self.age} 岁")class Student(Person):def __init__(self, name, age, student_id):super().__init__(name, age) # 使用 super() 可以获取父类的方法self.student_id = student_iddef display(self):print(f"学号: {self.student_id}")

在这里插入图片描述

3.2 创建子类对象

student1 = Student("张三", 20, "S12345")
student1.greet()  # 输出: Hello, 我叫 张三 ,今年 20 岁
student1.display()  # 输出: 学号: S12345

四、多态

多态允许子类定义与父类同名的方法,但是这些方法在不同的类中可以有不同的实现,例如下面的 Teacher 的问候就会跟 Student 的问候不一样

class Teacher(Person):def greet(self):print(f"Hello, 我是 {self.name} 教授")teacher1 = Teacher("李春华", 40)
teacher1.greet()  # 输出: Hello, 我是 李春华 教授

五、封装

封装是将数据(属性)和行为(方法)结合在一起,并隐藏内部细节。

class Account:def __init__(self, owner, balance=0):self.owner = ownerself.__balance = balancedef deposit(self, amount):self.__balance += amountdef get_balance(self):return self.__balanceaccount = Account("约翰")
account.deposit(100)
print(account.get_balance())  # 100

六. 访问限制

命名约定

  • 公有属性和方法:使用小写字母。
  • 私有属性:使用双下划线前缀。
  • 受保护的属性:使用单下划线前缀。

示例代码

class Car:brand = '宝马' # 类属性:公有属性def __init__(self, color):self.color = colorself.__mile = 200000  # 私有def get_mile(self):  # 公有方法return self.__milecar = Car('黄色')
print(car.brand) # 宝马
print(car.color) # 黄色
# print(car.__mile) # 'Car' object has no attribute '__mile'
print(car.get_mile()) # 200000

在这里插入图片描述

七、综合实例

class Animal:def __init__(self, name):self.name = namedef speak(self):passclass Dog(Animal):def speak(self):return f"{self.name} says Woof!"class Cat(Animal):def speak(self):return f"{self.name} says Meow!"animals = [Dog("小白"), Cat("菊花")]for animal in animals:print(animal.speak())

输出:

小白 says Woof!
菊花 says Meow!

结语

通过本篇文章,我们介绍了 Python 中面向对象编程的基本概念和应用。掌握这些知识能够帮助你更好地组织和管理代码,提高代码的重用性和可维护性。如果你有任何疑问或想法,欢迎在评论区留言讨论。


http://www.hkea.cn/news/409808/

相关文章:

  • 网站怎么做移动图片不显示不出来吗芭嘞seo
  • 旅游网站建设服务器ip域名解析
  • 企业网站建设三个原则百度指数资讯指数是指什么
  • 房地产集团网站建设方案软文文案案例
  • 阜蒙县建设学校网站是什么北京seo编辑
  • 珠海建设局网站十大经典事件营销案例分析
  • 创建网站开发公司互联网推广引流是做什么的
  • 万盛集团网站建设seo网站推广全程实例
  • 做教育的网站需要资质吗网站怎么开发
  • 微网站怎么做滚动中国万网域名注册官网
  • 个人如何免费建网站seo在线优化工具 si
  • 双线主机可以做彩票网站吗网络推广合作协议
  • 做外贸的b2b网站域名批量查询系统
  • 建设网站需要哪些职位网站建设策划书
  • 苏州网站建设哪里好网站点击排名优化
  • 网站建设收费标准策划百度推广关键词越多越好吗
  • 网站怎么做更新吗如何建立网页
  • 国外建设工程招聘信息网站tool站长工具
  • 专业做相册书的网站电商网站建设制作
  • 银川网站开发公司电话东莞网
  • 环境保护局网站管理制度建设百度指数的主要功能有
  • 安装wordpress提示500错误关键词优化的策略有哪些
  • 企业网站建设公司排名深圳高端seo公司助力企业
  • 做网站套餐网站seo
  • 网站上的代码网页怎么做的下载百度软件
  • 网站功能模块建设搜狗推广
  • 网站做推广有用吗网站页面设计
  • 做简报的网站广州搜发网络科技有限公司
  • 南乐县住房和城乡建设局网站制作网站的步骤是什么
  • 金华做网站最专业的公司搜易网提供的技术服务