面向对象的基本语法 | 学习笔记

简介: 快速学习 面向对象的基本语法

开发者学堂课程【Python入门 2020年版面向对象的基本语法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10367


面向对象的基本语法


内容介绍:

一、类和对象

二、练习


一、类和对象

类和对象是面向对象编程的两个核心概念。

1)类

类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用(表达有误,也是可以直接使用的)

特征其实就是一个变量,在类里我们称之为属性。

行为其实就是一个函数,在类里我们称之为方法。

类其实就是由属性和方法组成的一个抽象概念。

类就相当于制造飞机时的图纸,是一个模板。

这个模板只规定了飞机的某些特征(例如大小,颜色,型号等等)和行为(例如起飞,降落,飞行等等),它并不是一个具体的飞机,而是对飞机的一个抽象概念。它出现的目的,是为了让我们的创建飞机对象。

在上次的例子中,在提到人的时候并没有特指某一个人,每个人想到的人都是不一样的,但他们有共同的特征,比如有鼻子、眼睛、会直立行走,说明对人这个类达成了一个共识,他们的特征就是如此,这就是类的概念。

但当提到特定的人的时候,例如周杰伦,会得到相对应的特征。提到狗就会想到对应的特征,有毛有尾巴,但具体想到的狗的品种是不一样的。需要具体到某一个类具体的事物。

2)对象                

对象是由类创建出来的一个具体存在,可以直接使用。由哪一个类创建出来的对象,就拥有在哪一个类中定义的秉性和方法,对象就相当于用图纸制造的飞机。

在开发中,应该先有类,在类里定义好属性和行为,再根据类来创建对象。

3)类和对象的关系

类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。

使用同一个类,能够创建出很多对象。

类中定义了什么属性和方法,对象中就有什么属性和方法。

不同对象对应的属性值也会不同。

例如:定义了一个狗类,这个狗类有以下属性:

品种

颜色

性别

名字

现在根据这个类创建出了两条狗,这两条狗分别是 哈士奇、灰色、母、二哈和中华田园犬、黄色、公、旺财。

我们发现,这两条狗都具有品种,颜色、性别和名字这些属性,但是每条狗对应的属性值却不一样。

4)类的设计

在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类。

在程序开发中,要设计一个类,通常需要满足一下三个要素:

1.费名这类事物的名字,安照大驼峰命名法(每个单词的首字母大写)起名。

2.属性这类事物具有什么样的特征。

3.方法这类事物具有什么样的行为。

5)定义类名

名词提炼法:分析整个业务流程,出现的名词,通常就是找到的类。

6)属性和方法的确定

对对象的特征描述,可以定义成属性

对象具有的行为”(动词)可以定义成方法


二、练习

1)需求1

小明今年18岁,身高1.75,每天早上跑完步,会去吃东西

小美今年17岁,身高1.65,小美不跑步,小美喜欢吃东西

从这两句话中可以总结出来,在拿到需求之后,需要把上面两句话抽象成一个类。

新建 python 文件,命名为06-面向对象的基本语法

首先第一步是创建并定义一个类:类名怎么定义?

使用一个类来定义 class 根据业务需求完成,关键字就是 classclass 后在类名,在这里是一个学校管理系统,所以类名为 Student

但如果是社区登记之类的,在这类名可以改成 Person,总之类名是根据需求来确定,要放在实际情况中。由于在这里没有具体的语境,在这认为是学生类。

class类名:类名一般需要遵守大驼峰命名发,每一个单词的首字母大写

有两种写法,这两者没有太大的区别

1.class  <类名>

2.class  <类名>(object):

可能会见到以下类似的代码:

class Student(object):

pass

在曾经的一个 builtins.py 文件中会有很多的内置函数。除此之外还有许多内置的类,例如 int 类,它的写法就是 class int(object):,不过系统内置的类名是小写的,自己再写类名的时候要注意大写字母开头。

在定义类的时候要关注类有的属性和行为,分析得出了有名字、年龄、身高属性,需要在__init__方法里,以参数的形式定义属性。

把属性的特征在 init 方法中,以参数的形式定义特征,称之为属性。行为定义为一个个函数。

创建新的对象 s1 =  Student() Student()è 会直接调用__init__,调用init后,需要调用三个参数,需要加入内容。在使用 Student 类创建两个实例对象后,两个都会有 nameageheight 属性,同时都有 run eat 方法。

再根据题目需要选择执行的行为,这的行为用函数来定义。

def ___int__(self):

pass

注意:记得区分 init int 这两个函数

代码整体变为:

class Student(object):

def ___init__(self,name,age,height):

self.name = name

self.age = age

self.height = height

def run(self)

print(’正在跑步’)

def eat(self)

print(‘正在吃东西’)

s1 = Student(‘小明’,18,1.75)

s1 = Student(‘小美丽’,17,1.65)

s1.run()

s1.eat()

s2.eat()

2)需求2

一只黄颜色的狗狗叫大黄

看见生人汪汪叫

看见家人摇尾巴

相关文章
|
6月前
|
C++
C++语言学习基本语法应用案例
C++语言学习基本语法应用案例
|
3月前
|
存储 C#
C#基础语法(类和对象)
C#基础语法(类和对象)
20 2
|
7月前
|
存储 编译器 C语言
C++基础语法(类与对象上)
C++基础语法(类与对象上)
38 0
|
9月前
|
存储 安全 编译器
“C++基础入门指南:了解语言特性和基本语法”(下)
“C++基础入门指南:了解语言特性和基本语法”(下)
61 0
|
9月前
|
Java 编译器 程序员
“C++基础入门指南:了解语言特性和基本语法”(上)
“C++基础入门指南:了解语言特性和基本语法”(上)
39 0
|
9月前
|
存储 编译器 C++
“C++基础入门指南:了解语言特性和基本语法”(中)
“C++基础入门指南:了解语言特性和基本语法”(中)
59 0
|
10月前
|
算法 C语言
第三章:C语言的基本语法
书接上文,我们已经了解C语言相关算法,而我们今天要谈是C语言的基本语法,一听到C语言还有语法,不会像英语那样吧,要背知识点,其实想一想每学一个知识点,都会有自己不会的地方,自然而然的需要背下来,但是在自己懂的情况下去背,事半功倍,对,因此跟上我的步伐,一起来了解C语言相关语法。
41 0
|
11月前
|
编译器 C语言
C语言编程-基本语法
C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。
92 0
|
Linux Shell C语言
【Python编程】二、基本语法
【Python编程】二、基本语法
116 0
【Python编程】二、基本语法
|
PHP 开发者
面向对象关键字说明|学习笔记
快速学习面向对象关键字说明
77 0