面向对象-01

一:创建类和对象  class f:    def bar(self):      print(‘bar‘)    def hello(self, name)      print(‘hello %s‘%name)  fobj = f()  fobj.bar() > ‘bar‘  fobj.hello(‘tom‘) >‘hello tom‘

ps:类中的第一个参数必须是self,类中定义的函数叫方法
二:面向对象三大特性--封装
#三大特性:封装、继承、多态1.封装:  #将内容封装到某处  #从某处调用被封装的内容

例1:将内容封装到某处

解析:self是一个形式参数,当执行 fobj = F(‘tom‘,18)时,self等于fobj

例2:从某处调用封装的内容调用封装的内容时,有两种情况:  #通过对象直接调用  #通过间接self调用

fobj = F(‘tom‘,18)fobj.name >>> tom  调用fobj对象的name属性fobj.age >>> 18  调用fobj对象的age属性

class F:  def __init__(self,name,age)    self.name = name    self.age = age  def hello(self):    print(self.name)    print(self.age)fobj = F(‘tom‘,18)fobj.hello()>>> tom>>> 18
要求如下:1.打印汽车有4个轮子2.打印汽车是红色的3.打印汽车牌子是奔驰

1.打印汽车有8个轮子2.打印汽车是白色的3.打印汽车牌子是宝马#函数式编程:def carr(num):  print(‘汽车有%s个轮子‘%num)def color(col):  print(‘汽车是%s色‘ %col)def brand(bran):  print(‘汽车牌子是%‘%bran)调用:carr(4)color(‘红色‘)brand(‘奔驰‘)
carr(8)color(‘白色‘)brand(‘宝马‘)
#面向对象编程class F:  def __init__(self, carr, color, bran):    self.carr = carr    self.color = color    self.bran = bran  def carr(self):    print(‘汽车有%s个轮子‘%self.carr)  def color(col):1    print(‘汽车是%s色‘ %self.color)  def brand(bran):    print(‘汽车牌子是%‘%self.bran)fobj1 = F(4,‘红色‘,‘奔驰‘)fobj1.carr()fobj1.color()fobj1.brand()

fobj2 = F(8,‘白色‘,‘宝马‘)fobj1.carr()fobj1.color()fobj1.brand()

三.1:面向对象的三大特性--继承

#继承:面向对象中的继承和现实世界的继承相同,即:子可以继承父的内容例子:  #猫  class cat:    def voice(self):      print(‘喵~~~~‘)    def eat(self):      print(‘吃‘)    def drink(self):      print(‘喝‘)    def pull(self):      print(‘拉‘)  #狗  class dog:
    def voice(self):      print(‘汪~~~~‘)    def eat(self):      print(‘吃‘)    def drink(self):      print(‘喝‘)    def pull(self):      print(‘拉‘)

由此看出,猫和狗都具备了相同的 吃、喝、拉的功能,只有叫声不同,那么可以利用继承的思想,将这些相同的功能进行提炼出来:  #动物  class Animals:    def eat(self):      print(‘吃‘)    def drink(self):      print(‘喝‘)    def pull(self):      print(‘拉‘)  #猫  class cat(Animals):    def voice(self):      print(‘喵~~~~~‘)  class dog(Animals):    def voice(self):      print(‘汪~~~~‘)

  cat = cat()  cat.eat() >>> 吃  cat.drink() >>> 喝  cat.pull() >>> 拉  由此可见,父类将相同的方法进行整合,子类仅需继承父类就可以获得这些方法而不必一一去实现每个方法

三.2: 多继承:

#继Python可以继承多个类#Python的类如果继承了多个类,那么寻找方法的方式有两种:深度优先和广度优先  #当类是经典类时,多继承,优先按照深度优先方式查找  #当类是新式类时,多继承,优先按照广度优先方式查找


  

原文地址:https://www.cnblogs.com/jbzd/p/9217282.html

时间: 2024-09-15 03:57:20

面向对象-01的相关文章

20150110--魔术方法魔术常量+面向对象-01

回顾 面向对象编程:类,对象和实例化 类成员:属性,方法和类常量,访问修饰限定符(public,protected和private) 对象访问属性和方法:对象->属性/方法(实参列表); 内部访问:$this,代表当前进入到类内部的对象 魔术方法:构造方法和析构方法 对象传值,对象比较 面向对象 类的加载 因为要得到一个类的对象,必须先保证类结构已经在内存中(代码段). 自动加载 在需要用到类的时候,系统会根据指定好的路径去找对应的类文件(文件名为基础),然后根据用户指定的操作,对文件进行处理(

python基础之面向对象01

什么是面向对象? 所谓面向对象就是将那些具有共同特质的事物组成一个类(Class),在类中为这些特质定义一个个方法(函数). 具体一点,比如说英雄联盟.在英雄联盟中我们可以把所有的英雄划分为一个英雄类,这个类包含血量/蓝量/攻击力/法术强度/移动速度--的基本属性,同时我们为这些英雄定义了买装备,前后左右移动,受到伤害掉血,释放技能--的功能或者方法,这些基本属性和功能就组成了一个较为完整的类. 实际上,类就像一个模版,当我们根据这个英雄类创建英雄盖伦时,就需要将模版中的某些数值变更一下(比如说

面向对象01

1.面向对象和面向过程 面向过程:以我为中心,按照事物的发展流程 小型脚本程序合适用面向过程 万事万物皆为对象(object) 大型项目合适面向对象 2.如何编写面向对象的程序 先创建类.对某些事物进行总结.相当于图纸 使用类创建对象 class 类名(object): def --init--(self,name,age): 构造方法,创建对象的时候自动调用这个方法 self.name = name self.age = age def 方法名(self,参数) 方法体(return) 创建对

Java知识系统回顾整理01基础02面向对象01类和对象

一.面向对象实例--设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物 类: 英雄(Hero) 状态: 名字, 血量,护甲,移动速度 ? ? 注:?本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数) 注:?这个类没有主方法,不要试图运行它. 并不是所有的类都是有主方法的. ? ? ? ?

JavaScript面向对象(01)--函数

在JavaScript中,函数和对象有区别,也有联系, 首先函数是一个对象,但是和对象存在一些区别如下: 1,不论在java还是js中,如果把一个对象赋值给另一个变量,那么,后者会指向前者对象所在的内存地址,这也就是所谓的引用类型 例如:Java中创建一个Person类,存在一个name属性 Person p1 = new Person(); Person p2 = p1; 那么会有p1和p2指向同一块内存地址,可以验证,假设对p2做赋值操作: p2.setName("xxx"),那么

面向对象01知识点总结

继承:是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有 继承的好处:可继承的属性和方法. 提高了代表的可维护性 提高了代码的复用性 让类与类之间产生了继承关系 继承的弊端: 类与类之间的耦合度过高 继承特点: java中类只能够单继承,不能多继承,可以多层继承 class Yy extends Object {} class Fu extends Yy{} class Zi extends Fu {} 所有的类都直接或者间接的继承了 O

Python_面向对象练习题

面向对象练习: """侧重于面向对象""" 01.自己写一个Student类,此类的对象有属性name, age, score, 用来保存学生的姓名,年龄,成绩: 1) 写一个函数input_student读入n个学生的信息,用对象来存储这些信息(不用字典),并返回对象的列表 2) 写一个函数output_student 打印这些学生信息(格式不限) class Student(): def __init__(self, name, age, s

六.Python面向对象

目录 语言分类 面向对象 面向对象三要素 Python的面向对象 01 语言分类 面向机器: 抽象成机器指令,机器容易理解. 代表:汇编语言 面向过程: 做一件事情,排除个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理. 问题规模小,可以步骤化,按部就班处理 代表 C语言 面向对象OPP 相比较函数,面向对象是更大的封装,根据 职责在一个对象中封装 多个方法 在完成某一个需求前,首先确定 职责 -- 要做的事情(方法) 根据 职责 确定不同的 对象,在

2017年6月21号课堂笔记

2017年6月21号 星期三 多云转雷阵雨 空气质量:中度污染~轻度污染 内容: JavaScript 原型式面向对象 01基于Object的对象的方式创建对象:02使用字面量赋值方式创建对象 03构造函数:04原型对象:05原型链 备注:老师休养回来第二节课,希望他手术的伤口尽快愈合,远离伤病痛苦. 一.基于Object的对象的方式创建对象 1.老师代码: <!DOCTYPE html><html><head lang="en"> <meta