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

福州免费自助建站模板沧州做网站的公司

福州免费自助建站模板,沧州做网站的公司,光明随心订网站怎么做,微信公众号怎么做微网站1. 类与对象 1.1 基本概念 ​​类​​是创建对象的蓝图,定义了对象的​​属性​​(数据)和​​方法​​(行为)。​​对象​​是类的实例化实体,每个对象拥有独立的属性值和共享的类方法 ​​示例​​&am…

1. 类与对象

1.1 基本概念

​类​​是创建对象的蓝图,定义了对象的​​属性​​(数据)和​​方法​​(行为)。​​对象​​是类的实例化实体,每个对象拥有独立的属性值和共享的类方法

​示例​​:定义Dog

class Dog:species = "Canis familiaris"  # 类属性(所有实例共享)def __init__(self, name, age):  # 构造函数self.name = name  # 实例属性self.age = agedef bark(self):  # 实例方法print(f"{self.name} says: Woof!")

1.2 构造函数__init__

  • 作用:初始化对象属性,在实例化时自动调用
  • self参数​​:指向实例自身,必须作为方法的第一个参数

​案例​​:学生管理系统

class Student:def __init__(self, id, name, grade):self.id = idself.name = nameself.grade = gradedef display_info(self):print(f"ID: {self.id}, Name: {self.name}, Grade: {self.grade}")# 实例化
student1 = Student(1, "Alice", 85)
student1.display_info()  # 输出:ID: 1, Name: Alice, Grade: 85

1.3 属性与方法的类型

类型特点示例
​实例属性​每个对象独立存储self.name
​类属性​所有对象共享,修改后全局生效Dog.species
​实例方法​操作实例属性,需包含self参数def bark(self):
​静态方法​不依赖实例/类,用@staticmethod装饰器Math.add(3,5) 

8

​类方法​操作类属性,用@classmethod装饰器,参数为clsCounter.increment()

2. 继承与多态

2.1 继承的实现

  • ​语法​​:class ChildClass(ParentClass):
  • ​优势​​:代码复用、扩展功能

     

​案例​​:动物类的层次结构

class Animal:  # 父类def __init__(self, name):self.name = namedef speak(self):raise NotImplementedError("子类必须实现此方法")class Dog(Animal):  # 子类def speak(self):  # 方法重写return f"{self.name} says: Woof!"class Cat(Animal):def speak(self):return f"{self.name} says: Meow!"

2.2 super()函数

  • 作用:调用父类方法,避免重复代码
class ElectricCar(Car):def __init__(self, brand, color, battery):super().__init__(brand, color)  # 调用父类构造函数self.battery = battery

2.3 多态的实现

  • ​方式1:继承+方法重写​
    animals = [Dog("Buddy"), Cat("Whiskers")]
    for animal in animals:print(animal.speak())  # 同一接口,不同输出
  • ​方式2:鸭子类型​​(动态多态)
    class Bird:def fly(self):print("Flying with wings")class Airplane:def fly(self):print("Flying with engines")def let_it_fly(obj):obj.fly()  # 不检查类型,只关注行为

3. 抽象类与接口设计

3.1 抽象基类(ABC)

  • ​作用​​:强制子类实现特定方法,用abc模块实现
from abc import ABC, abstractmethodclass Shape(ABC):@abstractmethoddef area(self):passclass Circle(Shape):def __init__(self, radius):self.radius = radiusdef area(self):  # 必须实现return 3.14 * self.radius ​**​ 2

3.2 接口的模拟

  • ​设计原则​​:定义行为规范,不关注具体实现
class PaymentInterface(ABC):@abstractmethoddef process_payment(self, amount):passclass WechatPay(PaymentInterface):def process_payment(self, amount):return f"微信支付{amount}元"

4. 高级特性扩展

4.1 封装与私有属性

  • ​私有化​​:使用双下划线__隐藏数据
class BankAccount:def __init__(self, balance):self.__balance = balance  # 私有属性def get_balance(self):  # 公共方法访问return self.__balance

4.2 多重继承与MRO

  • ​问题​​:菱形继承可能导致方法冲突
  • ​解决方案​​:Python使用C3算法确定方法解析顺序
class A:def show(self):print("A")class B(A):def show(self):print("B")class C(A):def show(self):print("C")class D(B, C):passd = D()
d.show()  # 输出B(按MRO顺序:D -> B -> C -> A)

5. 综合实战案例

5.1 游戏角色系统

class GameCharacter:def __init__(self, name, health=100):self.name = nameself.__health = healthdef take_damage(self, damage):self.__health = max(0, self.__health - damage)print(f"{self.name}剩余生命:{self.__health}")class Warrior(GameCharacter):def __init__(self, name):super().__init__(name, health=120)self.armor = 20def take_damage(self, damage):  # 重写方法super().take_damage(max(0, damage - self.armor))

5.2 分页显示系统

class Paginator:def __init__(self, total_items, per_page=10):self.total_items = total_itemsself.per_page = per_pagedef get_page(self, page_num):start = (page_num - 1) * self.per_pageend = start + self.per_pagereturn list(range(start, min(end, self.total_items)))

 

http://www.dtcms.com/wzjs/566890.html

相关文章:

  • 坑梓网站建设市场阿里低代码开发平台
  • 厦门网站建设680做读书笔记的网站
  • flash做网站的流程免备案网站建设
  • 宜昌网站建设哪家好免费咨询病情
  • 成都网站推广公司站长工具seo综合查询论坛
  • 西安网站建设第一品牌wordpress资源管理
  • 学生个人网站建设方案书框架栏目深圳福田专业网站推广
  • 陕西省城乡住房建设厅网站wordpress 内容页摘要
  • 珠宝网站dedecms模版网站ui设计公司
  • 电商企业门户网站建设方案江苏盐城有做淘宝网站的吗
  • 网站建设的同义词东莞专业网站建设平台
  • qq群网站制作婚礼策划网站建设
  • .net做网站开发常见的c2c平台有
  • 广东建设继续教育网站首页wordpress知名网站
  • 低价网站制作墨西哥网站后缀
  • 网站制作致谢词做网站的文案怎么写
  • 可以仿做网站吗电商平台网站模板
  • 白云手机网站建设北京广告设计公司排行
  • 百度手机助手app官方下载seo对企业网站运营有何意义
  • 做网站该读啥济南网站建设工作
  • 昆明网站运营高端建筑物图片
  • 寻找南京帮助做网站的单位wordpress仿微信菜单栏
  • 大型网站建设报价企业的网站建设与设计论文
  • 中国美院网站建设公司企业网站开发多少钱
  • 色流网站如何做wordpress安装数据库连接错误
  • 做爰动态视频网站成都网站建设哪儿济南兴田德润怎么联系
  • 怎么创建网站域名wordpress菜单导航栏
  • 会展网站建设成功的原因做翻译网站 知乎
  • wordpress版权兰州seo网站建设
  • seo网站推广技术app软件开发不包括