如何学好面向对象?类写法的困惑

使用类中方法的两种方式,哪一种会更好一点儿呢?

方法一:
class demo {
    public $a;
    public $b;

    public function func1(){
        if ($a) {
            return true;
        } else {
            return false;
        }
    }

    public function func2(){
        echo $b;
    }   
}

// 调用
$demo = new demo;
$demo->a = 0;

if (!$demo->func1()) {
    $demo->b = 1;
    $demo->func2();
}
方法二:
class demo {
    public $a;
    public $b;

    public function func1() {
        if ($a) {
            return true;
        } else {
            return false;
        }
    }

    public function func2() {
        if (!$this->func1()) {
            echo $b;
        }
    }
}

$demo = new demo;
$demo->a = 0;
$demo->b = 1;

$demo->func2();

请问这两种写法,哪种更好?

时间: 2024-10-10 21:21:08

如何学好面向对象?类写法的困惑的相关文章

图解Python 【第五篇】:面向对象-类-初级基础篇

由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节内容一览图: 今天只讲类的基础的面向对象的特性 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数,对象是一个类的实例 实例(instance):一个对象的实例化实现. 标识(identity):每个对象的实例都需要一个可

优雅的类写法

前言 虽然现在已经是ES6的时代,但是,还是有必要了解下ES5是怎么写一个类的. 本文详述JavaScript面向对象编程中的类写法,并分步骤讲述如何写出优雅的类. 一.例子 例子为一个轻提示组件Toast. 需要实现的功能: on方法,显示提示 off方法,隐藏提示 init方法,初始化提示语 function Toast(option){ this.prompt = ''; this.elem = null; this.init(option); } Toast.prototype = {

~~核心编程(一):面向对象——类&私有属性~~

进击のpython 面向对象--类&属性 虽然我们上一part写了一个面向对象的程序:人狗大战 但是如果在面向对象来看 你这些的就不够规范 你既然选择用面向对象的思想来写 那你就要符合人家的定义规范和操作流程 那废话不多说 开始整活! 走的太快,就要停下来等等灵魂! 前面是先整出一个模板是吧? 那咱们也写个模板! 按照面向对象的思想来写! 那 类 是不是就是模板!(为啥要分两个博客写,就是为了让你对照上一个来看的!) 那就涉及到知识盲区了吧! class Dog: # python中,类的书写首

Php面向对象 – 类常量

类常量:类中,保存运行周期内,不变的数据. 定义: const关键字 const 常量名 = 常量值 例子: class Student { public  $stu_id; public  $stu_name; public  $stu_gender; const  GENDER_MALE = '男'; const  GENDER_FEMALE = '女'; } 类常量不受访问限定修饰符的限制 访问: 类::常量名 例子: class Student { public  $stu_id; pu

《转》面向对象类设计原则

面向对象类的设计原则 1                 SRP(单一职责原则) 这个原则看起来很简单,就是说一个类只能承担一个职责. 但这里有一个关键:"职责"是如何理解的? 按照汉语的理解,职责其实分为两部分:"职"和"责"."职"就是这个类是什么,而"责"就是这个类要干什么. 举个例子来说:Door是一个对象,那么它的"职"就是门,"责"就是"开门.关

php面向对象类中常用的魔术方法

php面向对象类中常用的魔术方法 1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct() class construct{ public function __construct(){ $this->var = "this is var"; } } class con2 extends construct{ public function __construct(){ $

面向对象类成员

面向对象类成员:字段,方法,属性 一.字段: 举个例子: class Foo: def __init__(self, name): self.name = name 其中的self.name就是字段,不过这是一个普通的字段,保存在对象中,可以通过对象去访问例如: 1 obj = Foo("DJC") 2 print(self.name) 3 4 >>>DJC 除了普通字段还有静态字段来看以下代码: class Foo: s = 123 def __init__(sel

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

Java面向对象-类与对象

Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建和使用 看下面实例 我们在com.java1234.chap03.sec01包下新建一个Person类 1 package com.java1234.chap03.sec01; 2 3 /** 4 * Person类 文件名和类名必须一致 5 * @author user 6 * 7 */ 8 pu