Depois que fiz a alteração direto pra classe Produto.php, a listagem (produtoLista.php) parou de funcionar, exibindo apenas o nome e o preço do primeiro item da lista.
produtoLista.php
<?php require_once("cabecalho.php");
        require_once("bancoProduto.php");
            require_once("class/Produto.php");
            session_start();
            header("Content-type: text/html; charset=utf-8");
            $produto = new Produto(); ?>
    <table class="table table-striped table-borded">
     <tr>
         <th>Nome</th>
         <th>Preço</th>
         <th>Descrição</th>
         <th>Categoria</th>
     </tr>
     <?php  $produtos = listaProdutos($conexao);
      foreach($produtos as $produto){ ?>
         <tr>
             <td class="warning"><?= $produto->nome  ?></td>
             <td><?= $produto->preco ?></td>
            <td><?= substr($produto->desciricao, 0,40)  ?></td>
            <td><?= $produto->categoria_nome ?></td>
            <td>
                <a href="altera.php?id=<?= $produto['id']?>" class="btn btn-primary">Alterar</a>
            </td>
             <td>
                 <a href="removeProduto.php?id=<?= $produto['id'] ?>" class="btn btn-danger">Remover</a>
             </td>
            <td>
                <a href="copiaProduto.php?id=<?= $produto['id'] ?>" class="btn btn-danger">Copia</a>
            </td>
         </tr>
    <?php
     }
    ?>
    </table>
<?php include ("rodape.php"); ?>
Lógica da "listaProdutos.php"
function listaProdutos($conexao){
    $produtos = array();
    $resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id");
    var_dump($resultado);
    while($produto_array = mysqli_fetch_assoc($resultado)){
        $produto = new Produto();
        $produto->nome = $produto_array['nome'];
        $produto->preco = $produto_array['preco'];
        $produto->descricao = $produto_array['descricao'];
        $produto->categoria_id = $produto_array['categoria_id'];
     $produto->usado = $produto_array['usado'];
     array_push($produtos, $produto);
        //    while($produto = mysqli_fetch_assoc($resultado)) {
            //    array_push($produtos, $produto);
        //    }
    }
    return $produtos;
}