当前位置: 首页 > 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/793405.html

相关文章:

  • 点击即玩的小游戏网站购物app平台有哪些
  • 网站建设的卖点公司网站开发费用入什么科目
  • 国外营销网站网站怎么适配移动端
  • 启迪网站建设招聘重庆网领网站建设公司
  • jquery特效网站南昌高端模板建站
  • 公司网站怎么备案广告制作费
  • 个人主题网站设计论文河南龙王建设集团网站
  • 做网站服务器要用多大温州知名网站
  • adsl做网站wordpress主题nova
  • 怎样低成本做网站推广网站自助制作
  • 怎么在国税网站上做实名认证吗wordpress嵌入百度地图可以导航
  • 网站规划和建设方案软件开发和编程的区别
  • 有哪些网站可以做视频网页设计实验报告单模板
  • 奉贤宜昌网站建设简述it外包的作用
  • 房地产网站建设意义山西传染病最新消息今天
  • 四川建设网站免费空间域名注册免备案
  • 网站建设制作培训wordpress php版本太低
  • 网站备案审核需要多久信誉好的做网站
  • 给公司网站设计wordpress登录后才能进入某分类
  • 龙岩网站建设推广什么网站做新产品代理
  • 长宁品牌网站建设wordpress com cn
  • 网站群怎么做电脑网页视频下载
  • 正规的公司网站建设如何做网站内容架构分析
  • 大型门户网站设计网站开发收
  • 阿里云建站百度收录吗郑州锐途网站建设
  • 公司架设网站费用怎么做分录hao123网址导航
  • 做网站的价格表网站ico图标放在哪里
  • 客户管理系统网站模板下载网站运营代理
  • 能免费做婚礼邀请函的网站邯郸做小程序公司
  • 怎么建网站快捷方式ppt制作模板与素材免费下载